結果アルゴリズムはバッチ・プログラミング・モデルのオプショナル機能です。
結果アルゴリズムによって、2 つのタイプのアクションがバッチ・ステップの終わりに発生します。
結果アルゴリズムは XML ジョブ制御言語 (xJCL) を通してバッチ・ジョブに適用されます。 これらのアルゴリズムは xJCL で宣言され、その後、バッチ・ステップに適用されます。
バッチ・ステップの終わりに、Compute Grid エンドポイントが バッチ・ジョブの xJCL を確認し、どの結果アルゴリズムを呼び出すかを決定します。 指定された各結果アルゴリズムの場合、Compute Grid エンドポイントはアルゴリズムにバッチ・ステップの戻りコード (ステップの destroyJobStep メソッドによって戻された整数)、および Compute Grid エンドポイント・データベース内のバッチ・ジョブの現行戻りコードを受け渡します。結果アルゴリズムは、渡された戻りコードに基づいて任意のアクションを取ることができます。 アルゴリズムは、バッチ・ジョブの戻りコードを Compute Grid エンドポイント に戻します。これが、バッチ・ジョブの現行の戻りコード として Compute Grid エンドポイント・データベースに保持されます。 この戻りコードは、結果アルゴリズムにコーディングされているロジックによって、 Compute Grid エンドポイントが最初に結果アルゴリズムに渡した戻りコードと同じ である場合も、または異なる場合もあります。 結果アルゴリズムがバッチ・ステップに指定されていない場合、ジョブの戻りコードは、前のステップの結果アルゴリズムの戻りコードになります。結果アルゴリズムがまったく指定されていない場合、ジョブの戻りコードはゼロ (0) になります。
結果アルゴリズムのシステム・プログラミング・インターフェース (SPI) も提供されています。 これを使用して、独自のアルゴリズムを作成し、バッチ・ジョブに適用することができます。
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>