スクリプトによるプロセスの構成

wsadmin ツールを使用して、ご使用のアプリケーション・サーバー構成内にプロセスを構成できます。 アプリケーション・サーバーの運用を強化するには、 アプリケーション・サーバー・プロセスを開始または初期化するためのコマンド行情報を定義します。 プロセス定義の設定により、実行するプログラム、プログラムを実行させる引数、 および作業ディレクトリーなどのランタイム・プロパティーを定義します。

このタスクの概要

このタスクを実行するには、3 つの方法が使用できます。 このタスクのステップを実行し、AdminTask オブジェクトまたは AdminConfig オブジェクトの setProcessDefinition コマンドを使用して、プロセス定義の構成を変更します。 代わりの方法として、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]]]])

        以下の例は、プロセス・コマンド引数値 (startCommandArgsstopCommandArgsexecutableArguments、および terminateCommandArgsなど) のリセット方法を示しています。

        AdminConfig.resetAttributes() コマンドを使用して、新規値で startCommandArgs 引数をリセットします。
        • Jacl を使用:
          $AdminConfig resetAttributes $processDef {{"startCommandArgs", "JOBNAME=CCCCC,ENV=WAS00.NDN1.BBOS001,REUSASID=YES"}}
        • Jython を使用:
          AdminConfig.resetAttributes(processDef, '[[startCommandArgs "JOBNAME=CCCCC,ENV=WAS00.NDN1.BBOS001,REUSASID=YES"]]')
        AdminConfig.modify() コマンドを使用して、属性値を設定解除およびリセットします。
        • Jacl を使用:
          $AdminConfig modify $processDef {{"startCommandArgs", ""}} 
          $AdminConfig modify $processDef {{"startCommandArgs", "JOBNAME=CCCCC,ENV=WAS00.NDN1.BBOS001,REUSASID=YES"}} 
        • Jython を使用:
          
          AdminConfig.modify(processDef ,'[[startCommandArgs ""]]')                 
          AdminConfig.modify(ProcessDef, '[[startCommandArgs "JOBNAME=BBOS0011,ENV=WAS00.NDN1.BBOS001,REUSASID=YES"]]')
  3. 構成の変更を保存します。
    以下のコマンド例を使用して、構成変更を保存します。
    AdminConfig.save()
  4. ノードを同期します (Network Deployment 環境の場合のみ)。
    AdminNodeManagement スクリプト・ライブラリーの syncActiveNode または syncNode スクリプトを使用して、 構成変更をノード (複数可) に伝搬します。
    • syncActiveNodes スクリプトを使用して、以下の例に示すように、変更をセルの各ノードに 伝搬します。
      AdminNodeManagement.syncActiveNodes()
    • syncNode スクリプトを使用して、以下の例に示すように、変更を特定のノードに 伝搬します。
      AdminNodeManagement.syncNode("myNode")