エラー・トレラントなステップの実装 (ThresholdBatchStep)

エラー・トレラントな汎用のバッチ・ステップでは、1 つの入力ストリーム、1 つの出力ストリーム、および 1 つのエラー・ストリームが使用されます。バッチ・ループの反復ごとに、このステップでは、バッチ・データ・ストリーム (BDS) の入力ストリームから 1 つのエントリーが読み取られ、処理のために BatchRecordProcessor プロパティーに渡されます。

始める前に

BatchRecordProcessor プロパティーは、有効なデータ・オブジェクトを返すか、許容エラーではヌル値を返します。戻り値がヌルの場合は、入力ストリームから読み取られたレコードがエラー・ストリームにログオンし、invalidRecordEncountered メソッドが ThresholdPolicy インターフェースで呼び出されます。しきい値ポリシーにより、エラー・トレラントなしきい値に達しているかどうかが判別されます。達している場合は、STEP_CONTINUE_FORCE_CHECKPOINT_BEFORE_PROCESSING_CANCEL が返され、チェックポイントが適用されて、ジョブは再開可能な状態になります。それ以外の場合は、ジョブは通常どおり続行します。BatchRecordProcessor.processRecord から返されたデータが有効であると、データは BDS 出力ストリームに渡されます。

このタスクについて

エラー・トレラントなステップを実装するには、次のプロパティーを使用します。

表 1. 必須プロパティー. 次の表に、プロパティー名、値、および説明を示します。
プロパティー名 説明
threshold_policy Java クラス名 com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy インターフェースを実装するクラス
BATCHRECORDPROCESSOR Java クラス名 BatchRecordProcessor インターフェースを実装するクラス
表 2. オプション・プロパティー. 次の表に、プロパティー名、値、および説明を示します。
プロパティー 説明
debug true または false (デフォルトは false) ステップでトレースおよびデバッグを有効にする
EnablePerformanceMeasurement true または false (デフォルトは false) ステップ内で費やされた時間を測定する

手順

  1. インターフェース com.ibm.websphere.batch.devframework.steps.technologyadapters.BatchRecordProcessor を実装して、ステップのビジネス・ロジックを提供します。

    ステップの場合は xJCL で、インターフェースの実装に設定された値を持つプロパティー BATCHRECORDPROCESSOR を宣言します。以下に例を示します。

    ...
    <props>  	    
    		<prop name="BATCHRECORDPROCESSOR"
        value="com.ibm.websphere.batch.samples.tests.steps.InfrastructureVerificationTest"/>
    </props>
    ...    
  2. インターフェース、com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy を実装し、ステップにしきい値ポリシーを提供します。また、com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy または com.ibm.websphere.batch.devframework.thresholdpolicies.RecordBasedThresholdPolicy などの製品実装を使用することもできます。

    次のコード・スニペットに示すように、xJCL で、使用する ThresholdPolicy を宣言します。

    ...  
    <props>  	    
    	 	<prop name="threshold_policy"
        value="com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy"/>  
    </props>
    ...  
  3. BDS 入力ストリームの論理名を inputStream に設定し、BDS 出力ストリームの論理名を outputStream に設定し、エラー用の BDS 出力ストリームを errorStream に設定します。

    論理名は xJCL で宣言します。以下に例を示します。

    <batch-data-streams>	 
       <bds> 	
    	<logical-name>inputStream</logical-name>  	
    	<props>
            .... 
       </bds>  
        <bds> 	
    		<logical-name>outputStream</logical-name>
    	<props>
    	...
        </bds>  
        <bds> 	
    		<logical-name>errorStream</logical-name>
    	<props>
    	...
         </bds>  
    </batch-data-streams>
  4. パッケージ化に BatchPackager を使用すると同時に、ジョブ・ステップ・クラス jobstepclass のアプリケーションを com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep に設定する必要があります。 以下に例を示します。

    WebSphere Extended Deployment Compute Grid バージョン 6.1.1 を使用:

    ejbname.1=IVTStep1
    jndiname.1=ejb/MyThresholdBatchStep
    jobstepclass.1=com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep

    WebSphere Extended Deployment Compute Grid バージョン 8.0 を使用:

    ...
    <job-step name="Step1">
    <classname>com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep</classname>
    ...

トピックのタイプを示すアイコン タスク・トピック



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