我有一个要求,我需要使用命令行在weblogic中取消部署war文件,以下代码为我完成了此工作:
java weblogic.Deployer -adminurl t3://localhost:8001 -user weblogic -password password123 -name <name> -undeploy
但是文件名在每次部署后都会更改,即(文件1.0.0和文件1.1.1)。
我需要这样一种命令,以便它取消部署该服务器中存在的所有文件。
有人可以让我知道如何一次取消部署所有文件吗?
谢谢,
Vishal
我已经找到了如何取消部署所有应用程序的方法:
List Apps:
import sys
connect('weblogic','weblogic10','http://autowfm-vmh:7259')
cd("AppDeployments")
app = ls(returnMap='true')
domainRuntime()
cd("AppRuntimeStateRuntime/AppRuntimeStateRuntime")
i=1
f = open('filename.txt','w')
for appName in app:
print >>f, appName
i=i+1
f.close()
exit()
Undeploy :
import os
connect('weblogic','weblogic','http://localhost:7001')
target='AdminServer'
f = open(r'D:\filename.txt','r')
print f
for i in range(10):
line=f.readline()
line1=line[:-1]
appName='./'+line1
print '*****************'+appName
undeploy(appName=line1)
exit()
如果您要编写更通用的答案,可以通过以下方式列出所有应用程序:
java -cp /opt/ora/mw/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer
-adminurl t3://host:port -username weblogic -password weblogic1 -listapps
然后解析该输出以开始删除应用程序。
<name>
应该是模块名称,而不是文件名(war或ear)。使用不带-undeploy
和-targets
标志的-submoduletargets
命令可以从所有WebLogic Server实例中完全删除该应用程序或独立模块,并取消所有JMS子模块资源的目标。顺便说一句,添加-graceful
选项将允许当前的HTTP客户端在取消部署之前完成其工作。注意:取消部署单元的部署不会删除用于部署的原始源文件。它仅从域中删除部署的配置,以及WebLogic Server在部署过程中创建的所有部署文件(例如,以阶段部署模式复制的文件以及上传到Administration Server的文件)。