xJCL エレメント
ジョブは、Extensible Markup Language (XML) のジョブ制御言語 (xJCL) と呼ばれる XML の方言を使用して表されます。 この方言には、計算主体のジョブおよびバッチ・ジョブの両方に必要なすべての情報を表すための構成体があります。ただし、xJCL の一部のエレメントは、計算主体のジョブまたはバッチ・ジョブの一方にのみ適用されます。 xJCL について詳しくは、サンプル・アプリケーションに用意された xJCL、xJCL テーブル、および xJCL XSD スキーマの資料を参照してください。 ジョブの xJCL 定義は、バッチ・アプリケーションの一部ではありませんが、単独で構成され、実行のためジョブ・スケジューラーに実行依頼されます。 ジョブ・スケジューラーは xJCL 内の情報を使用して、いつどこでジョブを実行するかを判別します。
xJCL エレメント
以下の表に xJCL エレメントの要約を示します。
エレメント | Java EE 計算主体 | Java EE バッチ | サブエレメント | 属性 | 説明 |
---|---|---|---|---|---|
ジョブ | あり | あり | バッチ・ジョブの記述の有効範囲を宣言します。 | ||
ジョブ | あり | あり | name | ジョブの名前。 default-application-name が指定されていない場合、この名前はバッチ・アプリケーションの名前と一致している必要があります。 | |
ジョブ | あり | あり | accounting | オプションのアカウンティング情報属性。 | |
ジョブ | あり | あり | class | オプションのジョブ・クラス属性。ジョブが実行されるジョブ・クラスを示します。 | |
ジョブ | あり | あり | default-application-name | ジョブ・ステップの application-name 属性が検出されない場合に使用されるアプリケーション名。
使用されるアプリケーション名。OSGi バッチ・アプリケーションの場合、 名前の形式は osgi:<eba name>:<version> にしてください。 |
|
ジョブ | あり | あり | jndi-name | バッチ・アプリケーション が製品にデプロイされる際に、ジョブ・コントローラー・ステートレス・セッション Bean に指定される JNDI 名。 | |
ジョブ | あり | あり | job-scheduling criteria | required-capability | ジョブの必須機能。ジョブのディスパッチ先となるエンドポイント上に定義されている必要があります。 |
ジョブ | あり | あり | step-scheduling criteria | step-scheduling-criteria エレメントを参照してください。 | |
ジョブ | なし | あり | checkpoint algorithm | checkpoint-algorithm エレメントを参照してください。 | |
ジョブ | なし | あり | results-algorithm | results-algorithms エレメントを参照してください。 | |
ジョブ | あり | あり | substitution-props++ | prop エレメントを参照してください。 | ジョブの必須機能。ジョブのディスパッチ先となるエンドポイント上に定義されている必要があります。 |
job-step | あり* | あり | name | オプションのステップ名。 この情報は操作コマンドで返されます。 | |
job-step | あり* | あり | application-name | ステップによって実行される、オプションのアプリケーション名。 この属性名は、application-name およびジョブ・レベルの属性 default-application-name が省略されている場合に使用されます。 | |
job-step | なし | あり | step-scheduling | step-scheduling エレメントを参照してください。 | ステップの戻りコードに基づいた条件ロジックを可能にします。これにより、バッチ・ステップが呼び出されるかどうかが判別されます。 |
job-step | あり | あり | classname | 計算主体のジョブを実装するクラスの完全修飾名。 | |
job-step | あり | なし | checkpoint-algorithm-ref | バッチ・ジョブ・ステップで使用するチェックポイント・アルゴリズムを指定します。 | |
job-step | なし | あり | results-ref | results-ref エレメントを参照してください。 | 条件付きバッチ・ジョブ・ステップの実行で使用する結果アルゴリズムを指定します。 |
job-step | なし | あり | batch-data-streams | batch-data-streams エレメントを参照してください。 | 一連の bds エレメント。 各 bds は、バッチ・データ・ストリームの作成に必要な構成情報です。 |
job-step | あり | あり | props | props エレメントを参照してください。 | ステップに渡す名前と値のプロパティー。 |
job-step | なし | なし | exec | exec エレメントを参照してください。 | ジョブ・ステップと関連付けられた実行可能ファイルを示します。 |
job-step | なし | なし | env-entries | env-entries エレメントを参照してください。 | ジョブ・ステップと関連付けられた環境プロパティーを示します。 |
prop | あり | あり | 名前と値の組の単一インスタンス。プロパティーとして機能します。 | ||
prop | あり | あり | name | プロパティーの名前。 | |
prop | あり | あり | value | プロパティーの値。 | |
props | あり | あり | prop | prop エレメントを参照してください。 | |
env-entries | なし | なし | ステップ、bds、チェックポイント・アルゴリズム、および結果アルゴリズムに名前と値の組のプロパティーを渡すために使用される一連の prop エレメント。 | ||
env-entries | なし | なし | env-var | env-var エレメントを参照してください。 | |
exec | なし | なし | ステップ、bds、チェックポイント・アルゴリズム、および結果アルゴリズムに名前と値の組のプロパティーを渡すために使用される一連の prop エレメント。 | ||
exec | なし | なし | executable | ジョブ・ステップと関連付けられた実行可能ファイルの名前。 | |
exec | なし | なし | arg | line エレメントを参照してください。 | |
line | なし | なし | ジョブ・ステップの実行可能ファイルに渡されるコマンド行引数。 | ||
bds | なし | あり | バッチ・ジョブで使用可能なバッチ・データ・ストリーム実装の単一インスタンス。 | ||
bds | なし | あり | logical-name | バッチ・ステップに埋め込まれているストリング。バッチ・ステップはこれを使用して、特定のバッチ・データ・ストリーム・インスタンスについてバッチ・ランタイム環境を照会します。 | |
bds | なし | あり | impl-class | バッチ・データ・ストリーム実装クラスの完全修飾クラス名。 | |
bds | なし | あり | props | props エレメントを参照してください。 | バッチ・データ・ストリーム実装クラスに渡されるプロパティーのリスト。 |
batch-data-streams | なし | あり | 一連の bds エレメント。 | ||
batch-data-streams | なし | あり | bds | bds エレメントを参照してください | |
step-scheduling | なし | あり | job-step に適用されて、バッチ・ジョブに対する戻りコード・ベースの条件フローが作成されます。 バッチ・ジョブの処理中にこのバッチ・ジョブに定義された戻りコードの値が比較され、ステップを呼び出すかどうかが決定されます。 戻りコードの値は、returncode-expression エレメントを使用して比較されます。 | ||
step-scheduling | なし | あり | returncode-expression | returncode-expression を参照してください。 | 評価対象の戻りコード式。 |
step-scheduling | なし | あり | condition | step-scheduling エレメント内に複数の returncode-expression エレメントがある場合は、それらに条件演算子が適用されます。 サポートされる条件演算子は、AND および OR です。 | |
returncode-expression | なし | あり | 他のジョブ・ステップの戻りコードに基づいてバッチ・ジョブ・ステップを実行するかどうかを決定するために step-scheduling タグ内で使用されます。 | ||
returncode-expression | なし | あり | step | ステップの名前。このステップの戻りコードが、この式の中で比較されます。 | |
returncode-expression | なし | あり | オペレーター | 戻りコード式で使用する演算子。 サポートされる演算子は、eq (等しい)、lt (より小)、gt (より大)、le (より小か等しい)、ge (より大か等しい) です。 | |
returncode-expression | なし | あり | value | 戻りコードと比較される値。 | |
step-scheduling-criteria | なし | あり | ジョブ・ステップの処理順序を記述します。 現在は順次スケジューリングがサポートされています。例えば、xJCL 内での出現順序に従ってステップを呼び出すことができます。 | ||
step-scheduling-criteria | なし | あり | scheduling-mode | ステップを呼び出す際の順序。現在指定可能な値は sequential のみです。 | |
checkpoint-algorithm | なし | あり | バッチ・ジョブ・ステップで使用可能なチェックポイント・アルゴリズムを宣言します。 | ||
checkpoint-algorithm | なし | あり | name | アルゴリズムの名前。 | |
checkpoint-algorithm | なし | あり | classname | このアルゴリズムを実装するクラス。 | |
checkpoint-algorithm | なし | あり | props | props エレメントを参照してください。 | チェックポイント・アルゴリズムに対する一連の prop エレメント。 |
checkpoint-algorithm-ref | なし | あり | checkpoint-algorithm エレメントへの参照。 | ||
checkpoint-algorithm-ref | なし | あり | name | 参照先チェックポイント・アルゴリズムの名前。 | |
checkpoint-algorithm-ref | なし | あり | props | props エレメントを参照してください。 | チェックポイント・アルゴリズムに対する一連の prop エレメント。 |
++ 以下のセクションでは、xJCL エレメント substitution-props について説明します。
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>
シンボリック変数の置換は実行時に行われます。 実行時に xJCL が実行依頼されると、ストリング ${variable-name} がプロパティーの値に置き換えられます。 上記の例のプロパティーを使用した場合、ジョブが実行依頼される前に、ストリング ${checkpoint} がストリング time-based に置き換えられます。
シンボリック変数は間接的に使用することができます。 例えば、filename=postingsDataStream という名前と値の組を使用した name=FILENAME value=${${filename}} は、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 に渡される場合、xJCL 文書に定義されたデフォルト値は、ジョブ・スケジューラー API によって渡される名前と値の組によってオーバーライドされます。 名前と値の組が、ジョブ・スケジューラー API によって渡されず、xJCL 文書にデフォルトとして定義されてもいない場合、xJCL が有効と見なされるためには、シンボリック変数の名前と値の組がシステム JVM プロパティーに定義されている必要があります。
- ${was.install.root}
- ${user.install.root}
- ${agent.home}