根据此文档,可以在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。
答案 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类的部署顺序,请按照配置启动类中的说明进行操作。
要激活这些更改,请在管理控制台的“更改中心”中单击“激活更改”。 并非所有更改都会立即生效 - 有些更改需要重新启动(请参阅使用更改中心)。