如何在WebLogic中更改部署顺序?

时间:2011-02-03 14:20:02

标签: deployment weblogic web-deployment weblogic11g

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

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

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

3 个答案:

答案 0 :(得分:5)

我认为它将按照该订单开始然后完成启动。我已经在我的服务器上测试了

执行以下顺序。

一个线程遍历部署顺序中的所有应用程序,并将所有应用程序转换为PREPARED,然后转换为ADMIN,然后转换为ACTIVE

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

线程0运行以使所有设置为PREPARED和ADMIN

线程1开始运行以使它们成为ACTIVE

####<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.>

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果您尚未执行此操作,请在管理控制台的“更改中心”中单击“锁定&amp;编辑(请参阅使用更改中心)。 在管理控制台的左窗格中,选择“部署”。右侧窗格显示为域中部署配置的所有模块,以当前部署顺序列出。

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

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