CommandRunner ユーティリティーのジョブ・ステップ
CommandRunner ユーティリティーのジョブ・ステップを使用して、シェル・コマンド行をジョブ・ステップとして実行します。 シェル・コマンド行には、シェル・コマンド、シェル・スクリプト、およびコンパイル済みプログラムが含まれます。
CommandRunner ユーティリティーは、指定されたシェル・コマンド行をオペレーティング・システム・プロセスで実行します。 標準出力および標準エラー・ストリームは収集されて、ジョブ・ログに書き込まれます。 コマンド行の戻りコードは、収集されてステップの戻りコードとして設定されます。 ジョブ・ステップが取り消された場合、戻りコードは -8 です。
コマンド構文
CommandRunner ユーティリティーには以下の構文を使用します。
<job-step name={step_name}>
<classname>com.ibm.websphere.batch.utility.CommandRunner</classname>
{job_step_properties}
</job-step>例えば、以下のジョブ・ステップ・コードは、コマンド行 Java™ プログラムを実行します。
<job-step name="RunJava">
<classname>com.ibm.websphere.batch.utility.CommandRunner</classname>
<props>
<prop name="com.ibm.websphere.batch.cmdLine"
value="java.exe com.ibm.websphere.batch.samples.TestCase" />
<prop name="CLASSPATH" value="${user.dir}\testcases;${user.dir}\bin" />
<prop name="Path" value="${java.home}\bin;${env:Path}" />
</props>
</job-step>ジョブ・ステップの必須プロパティー
CommandRunner ユーティリティーのジョブ・ステップには、以下のプロパティーが必要です。
- com.ibm.websphere.batch.cmdLine
- コマンド行の呼び出し (引数を含む) を指定します。例えば、java.exe ファイルをコマンド行として実行します。
<prop name="com.ibm.websphere.batch.cmdLine" value="java.exe com.ibm.websphere.batch.samples.TestCase" />
ジョブ・ステップのオプション・プロパティー
CommandRunner ユーティリティーのジョブ・ステップのオプション・プロパティーは以下のとおりです。
- com.ibm.websphere.batch.workingDir
- 指定したコマンド行を実行する際の作業ディレクトリーを指定します。例えば、 Linux®で作業ディレクトリーとして /tmp を有効にします。
<prop name="com.ibm.websphere.batch.workingDir" value="/tmp" />デフォルトは未定義です。
- com.ibm.websphere.batch.debug
- true または false を指定して、コマンド行をデバッグ・モードで実行するかどうかを指示します。 デバッグ・モードでは、デバッグ・メッセージを表示して、変数置換の問題や、コマンド行の正しい実行の障害となるその他の問題の解決を支援します。例えば、次のようにしてデバッグ・モードを有効にします。
<prop name="com.ibm.websphere.batch.debug" value="true" />デフォルトは falseです。
- com.ibm.websphere.batch.expansion
- true または false を指定して、ジョブ・ステップのプロパティー展開 (プロパティー置換とも呼ばれます)
を有効または無効にします。 このフィーチャーを無効にすると、プロパティー展開に依存しない、大きなプロパティー・マップを持つステップのステップ・パフォーマンスが向上します。例えば、次のようにしてプロパティー展開を無効にします。
<prop name="com.ibm.websphere.batch.expansion" value="false" />デフォルトは trueです。
- com.ibm.websphere.batch.shell.executor
- シェル実行プログラムのコマンドを指定します。 このプロパティーを使用して、コマンド行実行プログラムとしてカスタム・シェルを指定します。例えば、カスタム・シェルを fastshell に指定します。
<prop name="com.ibm.websphere.batch.shell.executor" value="fasthell" />デフォルトは、com.ibm.websphere.batch.command.runner.shell.executor システム・プロパティーの値です。
- com.ibm.websphere.batch.shell.failure.rc
- シェル実行失敗の戻りコードを指定します。 この戻りコードは、シェル実行プログラムが、指定されたコマンド行を実行できないことを示すために戻します。 シェル実行プログラムの戻りコードが、シェル失敗の戻りコード値に一致した場合、
CommandRunner ユーティリティー・ジョブは、ジョブ・ステップの戻りコードを com.ibm.websphere.batch.step.failure.rc プロパティーの値に設定します。例えば、次のようにすると、指定されたコマンド行の実行が失敗したときに、シェルは -1 を戻します。
<prop name="com.ibm.websphere.batch.shell.failure.rc" value="-1" />デフォルトは、com.ibm.websphere.batch.command.runner.shell.failure_rc システム・プロパティーの値です。
- com.ibm.websphere.batch.step.failure.rc
- コマンド行の実行が失敗した場合のジョブ・ステップの戻りコードを指定します。 シェル実行プログラムの戻りコードが com.ibm.websphere.batch.shell.failure.rc の値に一致したときに、このジョブ・ステップの戻りコードが戻されます。例えば、次のようにすると、シェルの実行が失敗したときに、ジョブ・ステップは -1 を戻します。
<prop name="com.ibm.websphere.batch.step.failure.rc" value="-1" />
システム・プロパティー
CommandRunner ユーティリティーのシステム・プロパティーはすべてオプションです。- com.ibm.websphere.batch.command.runner.shell.executor
- com.ibm.websphere.batch.shell.executor ジョブ・ステップ・プロパティーのデフォルト値を指定します。
デフォルトは cmd.exe /cです。
デフォルトは sh -cです。
- com.ibm.websphere.batch.command.runner.shell.failure_rc
- com.ibm.websphere.batch.shell.failure.rc ジョブ・ステップ・プロパティーのデフォルト値を指定します。
デフォルトは 1です。
デフォルトは 127です。
プロパティー置換
CommandRunner ユーティリティーのジョブ・ステップは、展開のためのプロパティー置換をサポートします。 以下の例に示すように、 xJCL 置換プロパティー、Java システム・プロパティー、およびプロセス変数を使用して拡張を行うことができます。- xJCL 代替プロパティー
- 次の例では、作業ディレクトリーとして xJCL 代替プロパティーの testcase.dir を代わりに使用します。
<prop name="com.ibm.websphere.batch.workingDir" value="${testcase.dir}" /> - Java システム・プロパティー
- 次の例では、 CLASSPATH プロセス変数で、Java システム・プロパティーの user.dir を代わりに使用します。
<prop name="CLASSPATH" value="${user.dir}/classes" /> - プロセス変数
- 次の例では、プロセス変数 PATH を、プロセス変数 PATH の新しい値で代わりに使用します。
<prop name="PATH" value="/tmp:${env:PATH}" />重要: 置換プロパティーは、Java システム・プロパティー・リストに表示されている場合、Java システム・プロパティーとして扱われます。 それ以外の場合は、xJCL 代替プロパティーとして処理されます。 プロセス変数置換は、${env:<variable name>}という特別な構文で示されます。