Implementing the error tolerant step (ThresholdBatchStep)

An error tolerant generic batch step works with one input, one output stream, and one error stream. This step during each iteration of the batch loop reads a single entry from the batch data stream (BDS) input stream and passes it to the BatchRecordProcessor property for processing.

Before you begin

The BatchRecordProcessor property might either return a valid data object or a null value in a tolerable error. If the returned value is null, the record read from the input stream is logged on to the error stream and the invalidRecordEncountered method is invoked on the ThresholdPolicy interface. The threshold policy determines whether the error tolerance threshold has been reached. If so, it returns STEP_CONTINUE_FORCE_CHECKPOINT_BEFORE_PROCESSING_CANCEL, which forces a checkpoint and puts the job in the restartable state. Otherwise, the job continues as normal. If the data returned by BatchRecordProcessor.processRecord is valid, then the data is passed to the BDS output stream.

About this task

Use the following properties to implement the error tolerant step.

Table 1. Required properties. The table includes the property name, value, and description.
Property name Value Description

threshold_policy

Java class name

Class implementing the com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy interface

BATCHRECORDPROCESSOR

Java class name

Class implementing the BatchRecordProcessor interface

Table 2. Optional properties. The table includes the property name, value, and description.
Property Value Description

debug

true or false (default is false)

Enable tracing and debugging on the step

EnablePerformanceMeasurement

true or false (default is false)

Measure time spent within the step

Procedure

  1. Implement the interfacecom.ibm.websphere.batch.devframework.steps.technologyadapters.BatchRecordProcessor to provide the business logic for the step. In the xJCL for the step, declare a property BATCHRECORDPROCESSOR with the value set to the implementation of the interface. For example:
    ...
    <props>		        
    	<prop name="BATCHRECORDPROCESSOR"
        value="com.ibm.websphere.batch.samples.tests.steps.InfrastructureVerificationTest"/>
    </props>
    ...    
  2. Implement the interface com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy to provide the threshold policy for the step. You can also use the product implementations such as com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy or com.ibm.websphere.batch.devframework.thresholdpolicies.RecordBasedThresholdPolicy. Declare the ThresholdPolicy to use in the xJCL as shown in the following code snippet:
    ...  
    <props>		 		           
    	 <prop name="threshold_policy"
        value="com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy"/>  
    </props>  
    ...  
  3. Set the BDS input stream logical name to inputStream and a BDS output stream logical name to outputStream and the BDS output stream for errors to errorStream. The logical names are declared in the xJCL. For example:
    <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. While using the BatchPackager for packaging, the application for the job step class, jobstepclass, must be set to com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep. For Example :

    Using WebSphere Extended Deployment Compute Grid Version 6.1.1:

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

    Using WebSphere Extended Deployment Compute Grid Version 8.0:

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



In this information ...


IBM Redbooks, demos, education, and more

(Index)

Use IBM Suggests to retrieve related content from ibm.com and beyond, identified for your convenience.

This feature requires Internet access.

Task topic Task topic    

Terms and conditions for information centers | Feedback

Last updatedLast updated: Jan 30, 2014 9:17:32 AM CST
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=matt&product=was-nd-iseries&topic=tgrid_cgerrant
File name: tgrid_cgerrant.html