4

根据本文档,可以更改 WebLogic 中的部署顺序:http: //download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13952/taskhelp/deployment/ChangeTheServerDeploymentOrder.html

例如,我有两个 web 应用程序app1.warapp2.ear
我将 app1.war 的“部署顺序”设置为 1。
以及 app2.ear 的“部署订单”100。这是否意味着 app1.war 将在 WebLogic 开始启动 app2.ear 之前启动并运行?

不幸的是,它对我不起作用。WebLogic 开始启动 app1.war,但是当 app1.war 尚未处于 STATE_ACTIVE 时,它开始启动 app2.ear。

4

3 回答 3

5

我认为它将开始,然后按照该顺序完成发射。我已经在我的服务器上测试过

它执行以下序列。

一个线程按部署顺序运行所有应用程序,并将它们全部转换为 PREPARED,然后转换为 ADMIN,然后转换为 ACTIVE

在下面的示例中,dms.war设置为 50 并portletapp设置为 100 作为部署顺序。

线程 0 运行以使所有内容都准备好和管理

线程 1 开始运行以使它们处于活动状态

####<04-Feb-2011 17:02:05 > <Info> <Deployer> <DefaultServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1296819125939> <BEA-149060> <Module dms.war of application DMS Application [Version=11.1.1.1.0] successfully transitioned from STATE_NEW to STATE_PREPARED on server DefaultServer.> 

####<04-Feb-2011 17:02:19 > <Info> <Deployer> <DefaultServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1296819139834> <BEA-149060> <Module portletapp of application wsrp-samples [Version=11.1.1.2.0] successfully transitioned from STATE_NEW to STATE_PREPARED on server DefaultServer.> 


####<04-Feb-2011 17:03:25 > <Info> <Deployer> <DefaultServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1296819205627> <BEA-149060> <Module dms.war of application DMS Application [Version=11.1.1.1.0] successfully transitioned from STATE_PREPARED to STATE_ADMIN on server DefaultServer.>

####<04-Feb-2011 17:03:33 > <Info> <Deployer> <DefaultServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1296819213183> <BEA-149060> <Module portletapp of application wsrp-samples [Version=11.1.1.2.0] successfully transitioned from STATE_PREPARED to STATE_ADMIN on server DefaultServer.> 

####<04-Feb-2011 17:04:57 > <Info> <Deployer> <DefaultServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <00e884cc3b492be0:-20717040:12df0741b5b:-8000-0000000000000006> <1296819297757> <BEA-149060> <Module dms.war of application DMS Application [Version=11.1.1.1.0] successfully transitioned from STATE_ADMIN to STATE_ACTIVE on server DefaultServer.>


####<04-Feb-2011 17:04:57 > <Info> <Deployer> <DefaultServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <00e884cc3b492be0:-20717040:12df0741b5b:-8000-0000000000000006> <1296819297767> <BEA-149060> <Module portletapp of application wsrp-samples [Version=11.1.1.2.0] successfully transitioned from STATE_ADMIN to STATE_ACTIVE on server DefaultServer.>
于 2011-02-04T12:24:29.287 回答
0

如果您尚未这样做,请在管理控制台的更改中心中单击锁定和编辑(请参阅使用更改中心)。在管理控制台的左窗格中,选择部署。右窗格显示配置为在域中部署的所有模块,并按其当前部署顺序列出。

在右窗格中,单击要更改其部署顺序的模块的名称。在显示的概览选项卡中,在部署顺序字段中输入一个新值,然后单击保存以应用您的更改。要更改启动类的部署顺序,请按照配置启动类中的说明进行操作。

要激活这些更改,请在管理控制台的更改中心中单击激活更改。并非所有更改都会立即生效——有些更改需要重新启动(请参阅使用更改中心)。

于 2015-03-24T10:18:28.027 回答
0

在您的示例中,线程 1 同时将两个应用程序“ dms.war ”和“portletapp”置于 ACTIVE。如果确实第二个应用程序依赖于第一个应用程序,则第二个应用程序将失败。也许在您的测试中,碰巧没有这种依赖关系?

于 2011-12-28T21:49:12.297 回答