Configuring processes using scripting

You can use the wsadmin tool to configure processes in your application server configuration. Enhance the operation of an application server by defining command-line information for starting or initializing the application server process. Process definition settings define runtime properties such as the program to run, arguments to run the program, and the working directory.

About this task

There are three ways to perform this task. Complete the steps in this task to use the setProcessDefinition command for the AdminTask object or the AdminConfig object to modify your process definition configuration. Alternatively, you can use the configureProcessDefinition Jython script in the AdminServerManagement script library to configure process definition attributes. The wsadmin tool automatically loads the script when the tool starts. Use the following syntax to configure process definition settings using the configureProcessDefinition script:
AdminServerManagement.configureProcessDefintion(nodeName, serverName, otherParamList)
For additional information and argument definitions, see the documentation for the AdminServerMananagment script library.

Procedure

  1. 啟動 wsadmin Scripting 工具。
  2. Use the setProcessDefinition command for the AdminTask object or the AdminConfig object to modify your process definition configuration.
    • Use the following example to configure the process definition with the setProcessDefinition command for the AdminTask object:
      • Using Jacl:
        $AdminTask setProcessDefinition {-interactive}
      • Using Jython:
        AdminTask.setProcessDefinition (['-interactive'])
    • Use the following steps to configure the process definition with the AdminConfig option:
      1. Identify the server and assign it to the s1 variable, as the following example demonstrates:
        • Using Jacl:
          set s1 [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]
        • Using Jython:
          s1 = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/')
          print s1
        Table 1. AdminConfig getid command description . The previous commands consist of the following elements:
        Element Description
        set Jacl command
        s1 Variable name
        $ Jacl operator for substituting a variable name with its value
        AdminConfig Object that represents the WebSphere® Application Server configuration
        getid AdminConfig command
        Cell Object type
        mycell Name of the object that will be modified
        Node Object type
        mynode Name of the object that will be modified
        Server Object type
        server1 Name of the object that will be modified
        print Jython command
        Example output:
        server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
      2. Identify the process definition for the server of interest, and assign it to the processDef variable, as the following example displays:
        • Using 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]
        • Using 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
        Example output: [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. Modify the configuration attributes for the process definition.

        [AIX Solaris HP-UX Linux Windows][IBM i]The following example changes the working directory:[z/OS]On z/OS® systems, the following example shows how to change the process definition of the servant region. You can change the process definition of the controller region by substituting controllerProcessDef for servantProcessDef .

        • Using 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}}
        • Using 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']])
        The following example modifies the name of the stderr file:
        • Using 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}}}]
        • Using 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]])
        The following example modifies the process priority level:
        • Using Jacl:
          $AdminConfig modify $processDef {{execution {{processPriority 15}}}}
        • Using Jython:
          AdminConfig.modify(processDef, [['execution', [['processPriority', 15]]]])
        The following example changes the maximum number of times the product tries to start an application server in response to a start request. If the server cannot be started within the specified number of attempts, an error message is issued that indicates that the application server could not be started.
        • Using Jacl:
          $AdminConfig modify $processDef {{monitoringPolicy {{maximumStartupAttempts 1}}}}
        • Using Jython:
          AdminConfig.modify(processDef, [['monitoringPolicy', [['maximumStartupAttempts',  1]]]])
  3. Save the configuration changes.
    請利用下列指令範例來儲存您的配置變更:
    AdminConfig.save()
  4. In a network deployment environment only, synchronize the node.
    請利用 AdminNodeManagement Script 程式庫中的 syncActiveNode 或 syncNode Script,將配置變更傳播給節點。
    • 利用 syncActiveNodes Script,依照下列範例所示,將變更傳播給 Cell 中的每個節點:
      AdminNodeManagement.syncActiveNodes()
    • 利用 syncNode Script,依照下列範例所示,將變更傳播給特定的節點:
      AdminNodeManagement.syncNode("myNode")

指出主題類型的圖示 作業主題



時間戳記圖示 前次更新: July 9, 2016 11:19
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_processes
檔名:txml_processes.html