結果アルゴリズム
結果アルゴリズムは、バッチ・プログラミング・モデルのオプション・フィーチャーです。
結果アルゴリズムでは、バッチ・ステップの最後に以下の 2 種類のアクションを実行できます。
- 終了したバッチ・ステップの戻りコードに基づいて、バッチ・ジョブの戻りコードを決定する。 戻りコードには、個々のバッチ・ステップの戻りコードと、ステップが属するバッチ・ジョブの戻りコードという 2 つのタイプがあります。
- ステップからの各種の戻りコードに基づいて、トリガーまたは実行すべきアクションのプレースホルダーを提供する。
結果アルゴリズムは、XML ジョブ制御言語 (xJCL) によってバッチ・ジョブに適用されます。 これらのアルゴリズムは xJCL で宣言された後、バッチ・ステップに適用されます。
バッチ・ステップの最後でグリッド・エンドポイントはバッチ・ジョブの xJCL を検査し、どの結果アルゴリズムを呼び出すかを判別します。 グリッド・エンドポイントは、指定されたそれぞれの結果アルゴリズムに対して、バッチ・ステップの戻りコード (ステップの destroyJobStep メソッドが返す整数) およびグリッド・エンドポイント・データベース内のバッチ・ジョブの現在の戻りコードを渡します。 これにより、結果アルゴリズムは、渡された戻りコードに基づいて処理を実行できます。 その後、アルゴリズムはバッチ・ジョブの戻りコードをグリッド・エンドポイントに返し、その戻りコードはバッチ・ジョブの現在の戻りコードとしてグリッド・エンドポイント・データベースで保持されます。 この戻りコードは、結果アルゴリズム内にコード化されたロジックに応じて、グリッド・エンドポイントが最初に結果アルゴリズムに渡した戻りコードと同じである場合も異なる場合もあります。 バッチ・ステップに結果アルゴリズムが指定されていない場合、ジョブの戻りコードは、直前のステップの結果アルゴリズムの戻りコードになります。 結果アルゴリズムが 1 つも指定されていない場合、ジョブの戻りコードはゼロ (0) です。
結果アルゴリズム・システム・プログラミング・インターフェース (SPI) も用意されています。これを使用すると、独自のアルゴリズムを作成して、それらをバッチ・ジョブに適用することができます。
jobsum 結果アルゴリズム
- step1 は 5 を返した。
- step2 は 8 を返した。
- step3 は 2 を返した。jobsum アルゴリズムでは、ジョブの最終的な戻りコードとして 8 をグリッド・エンドポイントに渡します。
- jobsum 結果アルゴリズムおよびカスタム結果アルゴリズムのステップへの適用例
<job name="PostingSampleEar"> <results-algorithms> <results-algorithm name="jobsum"> <classname>com.ibm.wsspi.resultsalgorithms.jobsum</classname> </results-algorithm> <results-algorithm name="custom_algorithm"> <classname>my_custom_algorithm</classname> </results-algorithm> </results-algorithms> <job-step name="Step1"> <results-ref name="jobsum"> </job-step> <job-step name="Step2"> <results-ref name="custom_algorithm"> </job-step> </job>