WebLogic控制台 - 重新部署应用程序时不存在应用程序文件

时间:2015-06-26 05:10:35

标签: java weblogic weblogic11g

通过WebLogic管理控制台停止/启动部署时,有时会出现以下错误:

Unable to access application source information in '/opt/product/oracle/local/managedservers/mydomain/servers/serverA/stage/apputil/apputil.war' 
for application 'apputil’. 
The specific error is: [Deployer:149158] No application files 
exist at '/opt/product/oracle/local/managedservers/mydomain/servers/serverA/stage/apputil/apputil.war'

然而,如果我停止并启动托管服务器,部署似乎会回来。

我的问题是,为什么这些war文件似乎随机地从托管服务器中消失,而服务器正在运行?这通常发生在我们没有触及部署一段时间之后( 6个月)。其他部署的其他战争文件就在那里。在我们尝试停止/启动它之前,它不会影响应用程序的运行。

这就是文件系统之前和之后的样子。

[oracle@serverA stage]$ pwd;ls -alstr
/opt/product/oracle/local/managedservers/mydomain/servers/serverA/stage
total 20
4 drwxr-x--- 8 oracle dba 4096 Mar 19  2014 ..
4 drwxr----- 3 oracle dba 4096 Mar 19  2014 app-crypto-util
4 drwxr----- 2 oracle dba 4096 Mar 19  2014 appadmin
4 drwxr----- 2 oracle dba 4096 Mar 19  2014 appsm
4 drwxr----- 5 oracle dba 4096 May  1 15:29 .

[oracle@serverA stage]$ ls
appadmin  app-crypto-util  appsm

在此重新启动受管服务器...

[oracle@serverA stage]$ ls
appdmin  app-crypto-util  appsm  apputil

[oracle@serverA stage]$ ls -alstr
total 24
4 drwxr-x--- 8 oracle dba 4096 Mar 19  2014 ..
4 drwxr----- 3 oracle dba 4096 Mar 19  2014 app-crypto-util
4 drwxr----- 2 oracle dba 4096 Mar 19  2014 appadmin
4 drwxr----- 2 oracle dba 4096 Mar 19  2014 appsm
4 drwxr----- 2 oracle dba 4096 Jun 25 14:35 apputil
4 drwxr----- 6 oracle dba 4096 Jun 25 14:35 .

[oracle@serverA stage]$ ls -alstr apputil/apputil.war 
28660 -rw-r----- 1 oracle dba 29347298 Jun 25 14:35 apputil/apputil.war

2 个答案:

答案 0 :(得分:4)

这可能发生在AdminServer&托管服务器位于不同的计算机中,或者战争从不同的计算机发送到AS。

使用参数:-remote -upload

即:

java weblogic.Deployer -adminurl t3://200.10.10.125:7001 -verbose -username weblogic -password welcome1 -deploy -targets WLCluster -name sample -remote -source sample.war -upload

答案 1 :(得分:-1)

参考阶段目录修改日期,当事件发生时,可能是通过脚本创建/编辑此目录,如果是这种情况,则在复制应用程序战争时问题应来自该脚本。

因此,在停止部署时,在我的POV中,也许weblogic会停止apputil托管服务器,从阶段dir删除战争,并在停止后启动部署时,它不会启动指定的受管服务器,并尝试重新部署导致异常的所有应用程序。