使用 wsadmin 脚本编制停止应用程序
可以使用 wsadmin 工具来停止应用程序。
开始之前
可通过两种方法来完成本任务。本主题中的示例使用 AdminControl 对象来停止应用程序。或者,可以使用 AdminApplication 脚本库中的脚本来启动、停止和管理应用程序配置。
过程
- 启动 wsadmin 脚本编制工具。
- 识别应用程序所在的服务器的应用程序管理器 MBean,并将其指定给 appManager 变量。
- 使用 Jacl:
set appManager [$AdminControl queryNames cell=mycell,node=mynode,type= ApplicationManager,process=server1,*]
- 使用 Jython:
appManager = AdminControl.queryNames('cell=mycell,node=mynode,type= ApplicationManager,process=server1,*') print appManager
表 1. queryNames 命令元素. 运行 queryNames 命令以获取应用程序管理器 MBean 的名称。 命令元素 描述 set 是 Jacl 命令 appManager 是变量名 $ 是使用其值替换变量名的 Jacl 运算符 AdminControl 是启用 WebSphere® 服务器进程中运行的 MBean 的操作的对象 queryNames 是 AdminControl 命令 cell=mycell,node=mynode,type= ApplicationManager,process=server1 是配置对象的分层包含路径 print 是 Jython 命令 此命令返回应用程序管理器 MBean。
示例输出:WebSphere:cell=mycell,name=ApplicationManager,mbeanIdentifier=ApplicationManager, type=ApplicationManager,node=mynode,process=server1
- 查询属于此服务器的运行应用程序并将结果指定给 apps 变量。
- 使用 Jacl:
set apps [$AdminControl queryNames cell=mycell,node=mynode,type=Application,process=server1,*]
- 使用 Jython:
# get line separator import java.lang.System as sys lineSeparator = sys.getProperty('line.separator') apps = AdminControl.queryNames('cell=mycell,node=mynode,type=Application, process=server1,*').split(lineSeparator) print apps
表 2. queryNames 命令元素. 运行 queryNames 命令以查询运行中的应用程序。 命令元素 描述 set 是 Jacl 命令 apps 是变量名 $ 是使用其值替换变量名的 Jacl 运算符 AdminControl 是启用 WebSphere 服务器进程中运行的 MBean 的操作的对象 queryNames 是 AdminControl 命令 cell=mycell,node=mynode,type= ApplicationManager,process=server1 是配置对象的分层包含路径 print 是 Jython 命令 此命令返回应用程序 MBean 的列表。
示例输出:WebSphere:cell=mycell,name=adminconsole,mbeanIdentifier=deployment.xml #ApplicationDeployment_1,type=Application,node=mynode,Server=server1, process=server1,J2EEName=adminconsole WebSphere:cell=mycell,name=filetransfer,mbeanIdentifier=deployment.xml #ApplicationDeployment_1,type=Application,node=mynode,Server=server1, process=server1,J2EEName=filetransfer
- 停止所有运行的应用程序。
- 使用 Jacl:
foreach app $apps { set appName [$AdminControl getAttribute $app name] $AdminControl invoke $appManager stopApplication $appName}
- 使用 Jython:
for app in apps: appName = AdminControl.getAttribute(app, 'name') AdminControl.invoke(appManager, 'stopApplication', appName)
结果
一旦您完成了本任务的步骤,服务器上的所有在运行的应用程序都将停止。
相关信息:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_stopapplication
文件名:txml_stopapplication.html