xJCL エレメント

ジョブは、Extensible Markup Language (XML) のジョブ制御言語 (xJCL) と呼ばれる XML の方言を使用して表されます。 この方言には、計算主体のジョブおよびバッチ・ジョブの両方に必要なすべての情報を表すための構成体があります。ただし、xJCL の一部のエレメントは、計算主体のジョブまたはバッチ・ジョブの一方にのみ適用されます。 xJCL について詳しくは、サンプル・アプリケーションに用意された xJCL、xJCL テーブル、および xJCL XSD スキーマの資料を参照してください。 ジョブの xJCL 定義は、バッチ・アプリケーションの一部ではありませんが、単独で構成され、実行のためジョブ・スケジューラーに実行依頼されます。 ジョブ・スケジューラーは xJCL 内の情報を使用して、いつどこでジョブを実行するかを判別します。

xJCL エレメント

以下の表に xJCL エレメントの要約を示します。

表 1. xJCL エレメント. この表は、xJCL エレメント、各 xJCL エレメントが Java™ Platform, Enterprise Edition (Java EE) の計算主体ジョブとバッチ・ジョブのいずれに適用されるのか、および各 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

ジョブの xJCL には、シンボリック変数を含めることができます。 シンボリック変数は、${variable-name} という形式の式です。この式がなければ正しい形式である文書のコメントの外側で使用されます。 以下に例を示します。
<checkpoint-algorithm-ref name="${checkpoint}" />
xJCL エレメント substitution-props は、シンボリック変数のデフォルトの名前と値の組を定義します。 substitution-props エレメントの例を以下に示します。postingSampleXJCL.xml 文書からの例です。
<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 プロパティーに定義されている必要があります。

シンボリック変数はジョブの実行依頼前にジョブ・スケジューラーによって解決されます。例外として、以下の特殊変数はグリッド・エンドポイントで解決されます。 以下の特殊変数はすべて JVM システム・プロパティーとして定義する必要があります。 以下にリストします。
  • ${was.install.root}
  • ${user.install.root}
  • ${agent.home}

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cgrid_xdbatchjcl
ファイル名:cgrid_xdbatchjcl.html