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>} という特別な構文で示されます。