WebSphere Extended Deployment, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows, z/OS

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

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

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

InfoCenter の『Reference』セクションにあるチェックポイント・アルゴリズム SPI、 カスタム・チェックポイント・アルゴリズムを作成するために使用できるチェックポイント・アルゴリズム SPI について、バッチ API を調べます。 クラス名は、com.ibm.wsspi.batch.CheckpointPolicyAlgorithm です。

時間ベースのアルゴリズムおよび記録ベースのアルゴリズムの 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>



Related concepts
バッチ・プログラミング・モデル

Concept topic    

Terms of Use | Feedback Last updated: Mar 20, 2006 12:32:00 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/scheduler/cxdbatchalg.html

© Copyright IBM 2005, 2006. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)