ジョブは、XML xJCL ジョブ制御言語と呼ばれる Extensible Markup Language XML の方言を使用して表現されます。 この方言には、数値計算ジョブおよびバッチ・ジョブの両方に必要なすべての情報を表現する構文がありますが、xJCL の一部のエレメントは数値計算ジョブまたはバッチ・ジョブのいずれかのみに適用されます。 xJCL について詳しくは、サンプル・アプリケーションに提供されている xJCL、 xJCL テーブルおよび xJCL XSD スキーマ文書を参照してください。 ジョブの xJCL 定義は、Compute Grid アプリケーションの一部ではなく、別々に構成され、実行時にはジョブ・スケジューラーに実行依頼されます。 ジョブ・スケジューラーは xJCL 内の情報を使用して、 ジョブを実行する場所と時間を決定します。
以下のテーブルに、xJCL エレメントを要約します。
エレメント | 数値計算 | バッチ | サブエレメント | 属性 | 説明 |
---|---|---|---|---|---|
job | Y | Y | 該当なし | 該当なし | 有効範囲はバッチ・ジョブの記述です。 |
該当なし | Y | Y | 該当なし | name | ジョブの名前。この名前は、Compute Grid アプリケーションの名前と一致する必要があります。 |
該当なし | Y | Y | jndi-name | 該当なし | Compute Grid アプリケーションの WebSphere Application Server へのデプロイ時にジョブ・コントローラー・ステートレス・セッション Bean に指定される JNDI 名。 |
該当なし | Y | Y | step-scheduling-criteria | step-scheduling-criteria エレメントを参照してください | 該当なし |
該当なし | N | Y | checkpoint-algorithm | checkpoint-algorithm エレメントを参照してください | 該当なし |
該当なし | Y | Y | job-step | job-step エレメントを参照してください | 該当なし |
job-step | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし |
該当なし | Y++ | Y | 該当なし | name | ステップの名前。この情報は、作動可能なコマンドで戻されます。 |
該当なし | N | Y | step-scheduling | step-scheduling エレメントを参照してください | バッチ・ステップを起動する必要があるかどうかを決定するステップの戻りコードに基づく、条件付きロジックを許可します。 |
該当なし | N | Y | checkpoint-algorithm-ref | checkpoint-algorithm-ref エレメントを参照してください | バッチ・ジョブ・ステップに対して使用するチェックポイント・アルゴリズムを指定します。 |
該当なし | Y | N | classname | 該当なし | 数値計算ジョブを実装するクラスの完全修飾名。 |
該当なし | N | Y | JNDI-name | 該当なし | バッチ・ランタイム環境がバッチ・ジョブ・ステップのロードに使用するエンティティー Bean バッチ・ステップ Bean のホームの論理 JNDI 名。 |
該当なし | 該当なし | 該当なし | props | props エレメントを参照してください | ステップに渡す名前値プロパティー |
該当なし | N | Y | batch-data-streams | batch-data-streams エレメントを参照してください | 一連の bds エレメントです。 各 bds は、バッチ・データ・ストリームを作成するために必要な構成情報です。 |
prop | Y | Y | 該当なし | 該当なし | プロパティーとして機能する、名前値ペアの単一インスタンス。 |
該当なし | 該当なし | 該当なし | 該当なし | name | プロパティーの名前。 |
該当なし | 該当なし | 該当なし | 該当なし | value | プロパティーの値。 |
props | Y | Y | 該当なし | 該当なし | ステップ、bds、チェックポイント・アルゴリズム、および結果アルゴリズムへの名前値ペア・プロパティーの受け渡しに使用する一連の prop エレメント。 |
該当なし | 該当なし | 該当なし | prop | prop エレメントを参照してください。 | 該当なし |
bds | N | Y | 該当なし | 該当なし | 使用するバッチ・ジョブで使用可能にされるバッチ・データ・ストリーム実装の単一インスタンス。 |
該当なし | 該当なし | 該当なし | logical-name | 該当なし | バッチ・ステップがバッチ・ランタイム環境に対して特定のバッチ・データ・ストリーム・インスタンスを要求する場合に使用する、バッチ・ステップに組み込まれたストリング。 |
該当なし | 該当なし | 該当なし | impl-class | 該当なし | バッチ・データ・ストリーム実装クラスの完全修飾クラス名。 |
該当なし | 該当なし | 該当なし | props | props エレメントを参照してください | バッチ・データ・ストリーム実装クラスに渡されるプロパティーのリスト。 |
batch-data-streams | N | Y | 該当なし | 該当なし | 一連の bds エレメント |
該当なし | 該当なし | 該当なし | bds | bds エレメントを参照してください | 該当なし |
step-scheduling | N | Y | 該当なし | 該当なし | バッチ・ジョブに対して戻りコードに基づく条件フローを作成するため、ジョブ・ステップに適用できます。 このバッチ・ジョブに定義された戻りコードの値を比較して、バッチ・ジョブの処理中にステップを起動するかどうかを判別できます。 戻りコードの値は、returncode-expression エレメントを使用して比較されます。 |
該当なし | 該当なし | 該当なし | returncode- expression | returncode-expression を参照してください | 評価対象の returncode-expression。 |
該当なし | 該当なし | 該当なし | 該当なし | condition | 複数の returncode-expression エレメントが step-scheduling エレメントにある場合は、それらに条件演算子を適用できます。 サポートされる条件演算子は、AND、OR です。 |
returncode-expression | N | Y | 該当なし | 該当なし | バッチ・ジョブ・ステップが他のジョブ・ステップの戻りコードに基づいて実行されるかどうかの判別に、ステップ・スケジューリング・タグで使用されます。 |
該当なし | 該当なし | 該当なし | 該当なし | step | この式で戻りコードが比較されるステップの名前です。 |
該当なし | 該当なし | 該当なし | 該当なし | operator | 戻りコードの式に使用する演算子。サポートされる演算子は、eq (等しい)、lt (より小)、gt (より大)、 le (より小か等しい)、ge (より大か等しい) です。 |
該当なし | 該当なし | 該当なし | 該当なし | value | 戻りコードを比較するための値。 |
step-scheduling-criteria | N | Y | 該当なし | 該当なし | ジョブ・ステップが処理される順序を記述します。 現在、順次スケジューリングはサポートされています。 各ステップは、xJCL に表示される順番で起動されます。 |
該当なし | 該当なし | 該当なし | scheduling-mode | 該当なし | 各ステップを起動する順序。 使用可能な値は、sequential のみです。 |
checkpoint-algorithm | N | Y | 該当なし | 該当なし | バッチ・ジョブ・ステップに使用できるチェックポイント・アルゴリズムを宣言します。 |
該当なし | 該当なし | 該当なし | 該当なし | name | アルゴリズムの名前。 |
該当なし | 該当なし | 該当なし | classname | 該当なし | このアルゴリズムを実装するクラス。 |
該当なし | 該当なし | 該当なし | props | props エレメントを参照してください | チェックポイント・アルゴリズム用の一連の props エレメント。 |
checkpoint-algorithm-ref | N | Y | 該当なし | 該当なし | チェックポイント・アルゴリズム・エレメントへの参照。 |
該当なし | 該当なし | 該当なし | 該当なし | name | 参照するチェックポイント・アルゴリズムの名前。 |
該当なし | 該当なし | 該当なし | props | props エレメントを参照してください | チェックポイント・アルゴリズム用の一連の prop エレメント。 |
+ 単一ステップの数値計算ジョブのみがサポートされています。
以下のテーブルに、xJCL エレメントを要約します。
エレメント | J2EE 数値計算 | J2EE バッチ | ネイティブ・ユーティリティー | サブエレメント | 属性 | 説明 |
---|---|---|---|---|---|---|
job | Y | Y | N | 有効範囲はバッチ・ジョブの記述です。 | ||
Y | Y | Y | name | ジョブの名前。この名前はCompute Grid アプリケーションの名前と一致しなければなりません。 | ||
Y | Y | Y | accounting | オプションのアカウンティング情報の属性。 | ||
Y | Y | Y | クラス | ジョブが実行されるジョブ・クラスを識別する、オプションのジョブ・クラス属性。 | ||
Y | Y | Y | default-application-name | ジョブ・ステップの application-name 属性が検出されない場合に使用されるアプリケーション名。 | ||
Y | Y | N | jndi-name | Compute Grid アプリケーションが WebSphere Application Server にデプロイされる際に、 ジョブ・コントローラー・ステートレス・セッション Bean に指定される JNDI 名。 | ||
Y | Y | Y | job-scheduling criteria | required-capability | ジョブの必須機能。 エンドポイントにディスパッチされるジョブについて、そのエンドポイントに定義する必要があります。 | |
Y | Y | N | step-scheduling criteria |
step-scheduling-criteria エレメントを参照してください | ||
N | Y | N | checkpoint algorithm | checkpoint-algorithm エレメントを参照してください | ||
N | Y | Y | results-algorithm | results-algorithms エレメントを参照してください | ||
Y | Y | Y | substitution-props++ |
prop エレメントを参照してください | ジョブの必須機能。 エンドポイントにディスパッチされるジョブについて、そのエンドポイントに定義する必要があります。 | |
job-step | ||||||
Y* | Y | N | name | そのステップのオプションの名前。 この情報は、作動可能なコマンドで戻されます。 | ||
Y* | Y | N | application-name | そのステップで実行されるアプリケーションのオプションの名前。 この属性名は、application-name が省略され、ジョブ・レベルの属性 default-application-name も省略されている場合に使用されます。 | ||
N | Y | N | step-scheduling | step-scheduling エレメントを参照してください | バッチ・ステップを起動する必要があるかどうかを決定するステップの戻りコードに基づく、条件付きロジックを許可します。 | |
N | Y | N | JNDI-name | バッチ実行環境がバッチ・ジョブ・ステップのロードに使用するエンティティー Bean バッチ・ステップ Bean のホームの論理 JNDI 名。 | ||
Y | Y | N | classname | 数値計算ジョブを実装するクラスの完全修飾名。 | ||
Y | N | N | checkpoint-algorithm-ref | バッチ・ジョブ・ステップに対して使用するチェックポイント・アルゴリズムを指定します。 | ||
N | Y | N | results-ref | results-ref エレメントを参照してください。 | 条件付きバッチ・ジョブ・ステップの実行に使用される結果のアルゴリズムを指定します。 | |
N | Y | N | batch-data-streams | batch-data-streams エレメントを参照してください | 一連の bds エレメントです。各 bds は、バッチ・データ・ストリームを作成するために必要な構成情報です。 | |
Y | Y | N | props | props エレメントを参照してください | ステップに渡す名前値プロパティー。 | |
N | N | Y | exec | exec エレメントを参照してください | そのジョブ・ステップに関連付けられた実行可能ファイルを識別します。 | |
N | N | Y | env-entries | env-entries エレメントを参照してください | そのジョブ・ステップに関連付けられた環境プロパティーを識別します。 | |
prop | Y | Y | N | プロパティーとして機能する、名前値ペアの単一インスタンス。 | ||
name | プロパティーの名前。 | |||||
value | プロパティーの値。 | |||||
props | Y | Y | N | prop | prop エレメントを参照してください | |
env-entries | N | N | Y | ステップ、bds、チェックポイント・アルゴリズム、および結果アルゴリズムへの名前値ペア・プロパティーの受け渡しに使用する一連の prop エレメント。 | ||
env-var | env-var エレメントを参照してください | |||||
exec | N | N | Y | ステップ、bds、チェックポイント・アルゴリズム、および結果アルゴリズムへの名前値ペア・プロパティーの受け渡しに使用する一連の prop エレメント。 | ||
executable | そのジョブ・ステップに関連付けられた実行可能ファイルの名前。 | |||||
arg | line エレメントを参照してください | |||||
line | N | N | Y | ジョブ・ステップの実行可能ファイルに渡されるコマンド行の引数。 | ||
bds | N | Y | N | バッチ・ジョブで使用可能になるバッチ・データ・ストリーム実装の単一インスタンス。 | ||
logical-name | バッチ・ランタイム環境での特定のバッチ・データ・ストリーム・インスタンスの照会に使用される、バッチ・ステップに組み込まれるストリング。 | |||||
impl-class | バッチ・データ・ストリーム実装クラスの完全修飾クラス名。 | |||||
props | props エレメントを参照してください | バッチ・データ・ストリーム実装クラスに渡されるプロパティーのリスト。 | ||||
batch-data-streams | N | Y | N | 一連の bds エレメント | ||
bds | bds エレメントを参照してください | |||||
step-scheduling | N | Y | バッチ・ジョブに対して戻りコードに基づく条件付きフローを作成するため、job-steps に適用されます。 このバッチ・ジョブに定義された戻りコードの値を比較して、バッチ・ジョブの処理中にステップを起動するかどうかを判別します。 戻りコードの値は、returncode-expression エレメントを使用して比較されます。 | |||
returncode- expression | returncode-expression を参照してください | 評価対象の returncode-expression。 | ||||
condition | 複数の returncode-expression エレメントが step-scheduling エレメントにある場合は、それらに条件演算子が適用されます。 サポートされる条件演算子は、AND、OR です。 | |||||
returncode-expression | N | Y | バッチ・ジョブ・ステップを他のジョブ・ステップの戻りコードに基づいて実行すべきかどうかを判断する step-scheduling タグの下で使用されます。 | |||
step | この式で戻りコードが比較されるステップの名前です。 | |||||
operator | 戻りコードの式に使用する演算子。サポートされる演算子は、eq (等しい)、lt (より小)、gt (より大)、 le (より小か等しい)、ge (より大か等しい) です。 | |||||
value | 戻りコードを比較するための値。 | |||||
step-scheduling-criteria | N | Y | ジョブ・ステップが処理される順序を記述します。現在、順次スケジューリングがサポートされています。 つまり、ステップは xJCL で表示される順に起動されます。 | |||
scheduling-mode | ステップを起動する順序。 現在、可能な値は sequential のみです。 | |||||
checkpoint-algorithm | N | Y | バッチ・ジョブ・ステップに使用できるチェックポイント・アルゴリズムを宣言します。 | |||
name | アルゴリズムの名前。 | |||||
classname | このアルゴリズムを実装するクラス。 | |||||
props | props エレメントを参照してください | チェックポイント・アルゴリズム用の一連の prop エレメント。 | ||||
checkpoint-algorithm-ref | N | Y | チェックポイント・アルゴリズム・エレメントへの参照。 | |||
name | 参照するチェックポイント・アルゴリズムの名前。 | |||||
props | props エレメントを参照してください | チェックポイント・アルゴリズム用の一連の prop エレメント。 |
++ xJCL エレメント substitution-props については、以下に説明します。
<checkpoint-algorithm-ref name="${checkpoint}" />
<substitution-props> <prop name="wsbatch.count" value="5" /> <prop name="checkpoint" value="timebased" /> <prop name="checkpointInterval" value="15" /> <prop name="postingsDataStream" value="${was.install.root}${file.separator}temp${file.separator}postings" /> </substitution-props>
シンボリック変数は実行時に置換されます。 実行時に、ストリング ${variable-name} は、xJCL が実行依頼されたときのプロパティーの値に置換されます。 上記の例ではこのプロパティーを使用し、 ジョブの実行依頼前にストリング ${checkpoint} がストリング timebased に置換されます。
シンボリック変数は間接にすることもできます。 例えば、name=FILENAME value=${${filename}} を名前/値のペア filename=postingsDataStream で使用すると、name=FILENAME value=${postingsDataStream} を指定する場合と同じ結果が得られます。
シンボリック変数は複合にすることもできます。 例えば、name=postingsDataStream value=${was.install.root}${file.separator}temp${file.separator}postings などです。
名前/値のペアは、ジョブ文書の substitution-props エレメントで定義する必要はありません。 substitution-props エレメントに定義された props の名前/値のペアが、その名前付き変数のデフォルト値です。 その substitution-props エレメントに定義されていない場合、名前/値のペアは、そのジョブの実行依頼時にジョブ・スケジューラー API を使用して受け渡すか、または JVM のシステム・プロパティーに定義する必要があります。 ジョブ文書の本文に定義される各シンボリック変数は、有効であるとみなされる xJCL に対して解決される必要があります。 ジョブ文書に定義される各名前/値のペアは、有効とみなされる xJCL に対して xJCL の本文にあるシンボリック変数に解決される必要があります。
名前/値のペアが xJCL 文書に定義され、さらにジョブの実行依頼時にジョブ・スケジューラー API に受け渡された場合は、ジョブ・スケジューラー API を使用して受け渡された名前/値のペアにより、xJCL 文書に定義されたデフォルト値がオーバーライドされます。 名前/値のペアがジョブ・スケジューラー API を使用して受け渡されず、xJCL 文書のデフォルトとしても定義されていない場合、そのシンボリック変数の名前/値のペアは、有効とみなされる xJCL のシステム JVM プロパティーに定義されている必要があります。