使用 wsadmin 脚本编制停止应用程序

可以使用 wsadmin 工具来停止应用程序。

开始之前

可通过两种方法来完成本任务。本主题中的示例使用 AdminControl 对象来停止应用程序。或者,可以使用 AdminApplication 脚本库中的脚本来启动、停止和管理应用程序配置。

过程

  1. 启动 wsadmin 脚本编制工具。
  2. 识别应用程序所在的服务器的应用程序管理器 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
  3. 查询属于此服务器的运行应用程序并将结果指定给 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
  4. 停止所有运行的应用程序。
    • 使用 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)
    此命令通过在 MBean 上调用 stopApplication 操作,传递要停止的应用程序名称来停止所有运行的应用程序。

结果

一旦您完成了本任务的步骤,服务器上的所有在运行的应用程序都将停止。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_stopapplication
文件名:txml_stopapplication.html