使用脚本编制来配置进程

可以使用 wsadmin 工具来配置应用程序服务器配置中的进程。通过定义用于启动或初始化应用程序服务器进程的命令行信息,来增强应用程序服务器的操作。进程定义设置定义运行时属性,例如要运行的程序、用于运行程序的参数以及工作目录。

关于此任务

有三种方式可用来执行本任务。完成本任务中的步骤来使用 AdminTask 对象的 setProcessDefinition 命令或 AdminConfig 对象修改进程定义配置。或者,可以使用 AdminServerManagement 脚本库中的 configureProcessDefinition Jython 脚本来配置进程定义属性。wsadmin 工具启动时将自动装入该脚本。通过以下语法使用 configureProcessDefinition 脚本来配置进程定义设置:
AdminServerManagement.configureProcessDefintion(nodeName, serverName, otherParamList)
有关其他信息和参数定义,请参阅 AdminServerMananagment 脚本库的文档。

过程

  1. 启动 wsadmin 脚本编制工具。
  2. 使用 AdminTask 对象的 setProcessDefinition 命令或 AdminConfig 对象来修改进程定义配置。
    • 通过以下示例使用 AdminTask 对象的 setProcessDefinition 命令来配置进程定义:
      • 使用 Jacl:
        $AdminTask setProcessDefinition {-interactive}
      • 使用 Jython:
        AdminTask.setProcessDefinition (['-interactive'])
    • 通过以下步骤使用 AdminConfig 选项来配置进程定义:
      1. 标识服务器并将其指定给 s1 变量,如下例所示:
        • 使用 Jacl:
          set s1 [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]
        • 使用 Jython:
          s1 = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/')
          print s1
        表 1. AdminConfig getid 命令描述. 以上命令由下列元素组成:
        元素 描述
        set Jacl 命令
        s1 变量名
        $ 使用其值替换变量名的 Jacl 运算符
        AdminConfig 表示 WebSphere® Application Server 配置的对象
        getid AdminConfig 命令
        Cell 对象类型
        mycell 将要修改的对象的名称
        Node 对象类型
        mynode 将要修改的对象的名称
        Server 对象类型
        server1 将要修改的对象的名称
        print Jython 命令
        示例输出:
        server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
      2. 标识相关服务器的进程定义,并将其指定给 processDef 变量,如下例所示:
        • 使用 Jacl:[AIX Solaris HP-UX Linux Windows][IBM i]
          set processDef [$AdminConfig list JavaProcessDef $s1]
          set processDef [$AdminConfig showAttribute $s1 processDefinitions]
          [z/OS]
          set processDefs [$AdminConfig list JavaProcessDef $s1]
          set controllerProcessDef [lindex $processDefs 1]
          set servantProcessDef [lindex $processDefs 1]
        • 使用 Jython:[AIX Solaris HP-UX Linux Windows][IBM i]
          processDef = AdminConfig.list('JavaProcessDef', s1)
          print processDef
          processDef = AdminConfig.showAttribute(s1, 'processDefinitions')
          [z/OS]
          processDefs = AdminConfig.list('JavaProcessDef', s1)
          # get line separator
          import java
          lineSeparator = java.lang.System.getProperty('line.separator')
          arrayPDs = processDefs.split(lineSeparator)
          controllerProcessDef = arrayPDs[0]
          servantProcessDef = arrayPDs[1]
          print controllerProcessDef
          print servantProcessDef
        示例输出:[AIX Solaris HP-UX Linux Windows][IBM i]
        (cells/mycell/nodes/mynode/servers/server1|server.xml#JavaProcessDef_1)
        [z/OS]
        (cells/mycell/nodes/mynode/servers/server1:server.xml#JavaProcessDef_1)
        (cells/mycell/nodes/mynode/servers/server1:server.xml#JavaProcessDef_2)
      3. 修改进程定义的配置属性。

        [AIX Solaris HP-UX Linux Windows][IBM i]以下示例将更改工作目录:[z/OS]在 z/OS® 系统上,以下示例说明如何更改服务方区域的进程定义。通过用 controllerProcessDef 替换 servantProcessDef,可以更改控制器区域的进程定义。

        • 使用 Jacl:[AIX Solaris HP-UX Linux Windows]
          $AdminConfig modify $processDef {{workingDirectory c:/temp/user1}}
          [z/OS]
          $AdminConfig modify $servantProcessDef {{workingDirectory /temp/user1}}
          [IBM i]
          $AdminConfig modify $processDef {{workingDirectory /home/myProfile/temp/user1}}
        • 使用 Jython:[AIX Solaris HP-UX Linux Windows]
          AdminConfig.modify(processDef, [['workingDirectory', 'c:/temp/user1']])
          [z/OS]
          AdminConfig.modify(servantProcessDef, [['workingDirectory', '/temp/user1']])
          [IBM i]
          AdminConfig.modify(processDef, [['workingDirectory', '/home/myProfile/temp/user1']])
        以下示例将修改 stderr 文件的名称:
        • 使用 Jacl:[AIX Solaris HP-UX Linux Windows][IBM i]
          set errFile [list stderrFilename \${LOG_ROOT}/server1/new_stderr.log]
          set attr [list $errFile]
          $AdminConfig modify $processDef [subst {{ioRedirect {$attr}}}]
          [z/OS]
          set errFile [list stderrFilename \${LOG_ROOT}/server1/new_stderr.log]
          set attr [list $errFile]
          $AdminConfig modify $servantProcessDef [subst {{ioRedirect {$attr}}}]
        • 使用 Jython:[AIX Solaris HP-UX Linux Windows][IBM i]
          errFile = ['stderrFilename', '\${LOG_ROOT}/server1/new_stderr.log']
          attr = [errFile]
          AdminConfig.modify(processDef, [['ioRedirect', [attr]]])
          [z/OS]
          errFile = ['stderrFilename', '${LOG_ROOT}/server1/new_stderr.log']
          attr = [errFile]
          AdminConfig.modify(servantProcessDef, [['ioRedirect', attr]])
        以下示例将修改进程优先级:
        • 使用 Jacl:
          $AdminConfig modify $processDef {{execution {{processPriority 15}}}}
        • 使用 Jython:
          AdminConfig.modify(processDef, [['execution', [['processPriority', 15]]]])
        以下示例更改了产品尝试启动应用程序服务器作为对启动请求响应的最多次数。如果无法在指定的尝试次数内启动服务器,那么会发出一则错误消息,指出无法启动应用程序服务器。
        • 使用 Jacl:
          $AdminConfig modify $processDef {{monitoringPolicy {{maximumStartupAttempts 1}}}}
        • 使用 Jython:
          AdminConfig.modify(processDef, [['monitoringPolicy', [['maximumStartupAttempts',  1]]]])
  3. 保存配置更改。
    请使用以下命令示例来保存配置更改:
    AdminConfig.save()
  4. (仅限于 Network Deployment 环境)使节点同步。
    使用 AdminNodeManagement 脚本库中的 syncActiveNode 或 syncNode 脚本将配置更改传播至一个或多个节点。
    • 使用 syncActiveNodes 脚本将更改传播至单元中的每个节点,如以下示例所示:
      AdminNodeManagement.syncActiveNodes()
    • 使用 syncNode 脚本将更改传播至特定节点,如以下示例所示:
      AdminNodeManagement.syncNode("myNode")

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



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