WebSphere Extended Deployment Compute Grid, Version 6.1.1
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows,


チェックポイント・アルゴリズム

Compute Grid エンドポイントは、チェックポイント・アルゴリズムを使用して、 バッチ・ステップを呼び出すグローバル・トランザクションをいつコミットするかを決定します。 これらのアルゴリズムは、XML ジョブ制御言語 (xJCL) 定義を通してバッチ・ジョブに適用されます。 xJCL のチェックポイント・アルゴリズムに指定されるプロパティーにより、 トランザクションのタイムアウトやチェックポイントの間隔などのチェックポイントの動作をバッチ・ステップ 用にカスタマイズできます。 WebSphere Extended Deployment は、時間ベースのチェックポイント・アルゴリズムおよび記録ベースの アルゴリズムの両方を提供し、追加のカスタム・チェックポイント・アルゴリズムの作成用の サービス・プロバイダー・インターフェース (SPI) を定義します。

processJobStep メソッドの各バッチ・ステップの繰り返しにおいて、 グリッド・エンドポイント (GEE) は、 グローバル・トランザクションをコミットするかどうかを、 そのステップに適用されるチェックポイント・アルゴリズムで確認します。 チェックポイント・アルゴリズムのコールバックのメソッドにより、GEE は、 グローバル・トランザクションがコミットまたは開始されたときに、アルゴリズムに通知できます。 この動作によって、アルゴリズムがグローバル・トランザクションのライフサイクルの 追跡を続けることが可能です。 processJobStep メソッドの各繰り返しにおいて、GEE は、 そのアルゴリズムで ShouldCheckpointBeExecuted コールバック・メソッドを呼び出し、 トランザクションがコミットされるかどうかを判別します。 アルゴリズムは、このメソッドを使用して、チェックポイント間隔を制御します。

インフォメーション・センターの『参照』セクションから、バッチ API に関するトピックに移動し、 カスタム・チェックポイント・アルゴリズムの作成に使用できるチェックポイント・アルゴリズム SPI について調べてください。 クラス名は、com.ibm.wsspi.batch.CheckpointPolicyAlgorithm です。

WebSphere Extended Deployment では、 時間ベースのアルゴリズムおよび記録ベースのアルゴリズムの 2 つのチェックポイント・アルゴリズムがサポートされています。 両方とも以下のセクションで説明します。

時間ベースのアルゴリズム

時間ベースのチェックポイント・アルゴリズムは、 指定された時間間隔でグローバル・トランザクションをコミットします。 以下の例では、xJCL で時間ベースのアルゴリズムを宣言しています。
<checkpoint-algorithm name="timebased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.timebased</classname>
     <props>
           <prop name="interval" value="15" />
           <prop name="TransactionTimeOut" value="30" />
     </props>
</checkpoint-algorithm>

先の例の間隔の単位および TransactionTimeOut プロパティーは、 秒単位で表現されています。

記録ベースのアルゴリズム

記録ベースのチェックポイント・アルゴリズムは、 バッチ・ステップの processJobStep メソッドの指定された反復回数で グローバル・トランザクションをコミットします。 processJobStep メソッドへの各呼び出しは、1 つのレコードの反復として扱われます。 processJobStep メソッドは、各呼び出しでバッチ・データ・ストリームから複数の レコードを検索できます ただし、このチェックポイント・アルゴリズムにとっては、1 つのレコードは processJobStep メソッドへの 1 つの呼び出しと同等です。

以下の例では、xJCL で記録ベースのアルゴリズムを宣言しています。
<checkpoint-algorithm name="recordbased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.recordbased</classname>
     <props>
           <prop name="recordcount" value="1000" />
           <prop name="TransactionTimeOut" value="60" />
     </props>
</checkpoint-algorithm>

先の例の TransactionTimeOut プロパティーは、秒単位で表現されます。

xJCL に指定されていない場合、デフォルトのトランザクション・タイムアウトは 60 秒であり、デフォルトのレコード・カウントは 10000 です。

バッチ・ステップへのチェックポイント・アルゴリズムの適用

チェックポイント・アルゴリズムは、xJCL を通してバッチ・ジョブに適用されます。 xJCL で複数のチェックポイント・アルゴリズムを宣言でき、各バッチ・ステップに 異なるアルゴリズムを適用できます。バッチ・ステップに複数のチェックポイント・アルゴリズムを適用することはできません。

以下の例では、xJCL でチェックポイント・アルゴリズムを適用しています。

<job name="PostingsSampleEar">

<checkpoint-algorithm name="timebased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.timebased</classname>
     <props>
           <prop name="interval" value="15" />
           <prop name="TransactionTimeOut" value="30" />
     </props>
</checkpoint-algorithm>

<checkpoint-algorithm name="recordbased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.recordbased</classname>
     <props>
           <prop name="recordcount" value="1000" />
           <prop name="TransactionTimeOut" value="60" />
     </props>
</checkpoint-algorithm>

<job-step name="Step1">
     <checkpoint-algorithm-ref name="timebased" />
</job-step>

<job-step name="Step2">
     <checkpoint-algorithm-ref name="recordbased" />
</job-step>
</job>



関連概念
バッチ・プログラミング・モデル
概念のトピック    

ご利用条件 | フィードバック

最終更新: 2009/09/17 16時38分56秒EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/cxdbatchalg.html