WebSphere Extended Deployment Compute Grid, Version 6.1.1
             Betriebssysteme: AIX, HP-UX, Linux, Solaris, Windows,


Fehlertoleranter Abschnitt

Ein fehlertoleranter generischer Stapelabschnitt arbeitet mit genau einem Eingabedatenstrom, einem Ausgabedatenstrom und einem Fehlerdatenstrom. In diesem Abschnitt wird bei jeder Iteration der Stapelschleife ein einzelner Eintrag aus dem BDS-Eingabedatenstrom gelesen und zur Verarbeitung an den BatchRecordProcessor übergeben.

Vorbereitungen

Der BatchRecordProcessor kann ein gültiges Datenobjekt oder einen Nullwert im Falle eines tolerierbaren Fehlers zurückgeben. Wenn ein Nullwert zurückgegeben wird, wird der im Eingabedatenstrom gelesene Datensatz im Fehlerdatenstrom protokolliert, und die Methode "invalidRecordEncountered" wird für die Schwellenwertrichtlinie aufgerufen. Die Schwellenwertrichtlinie bestimmt, ob der Schwellenwert für die Fehlertoleranz erreicht wurde. Ist das der Fall, wird "STEP_CONTINUE_FORCE_CHECKPOINT_BEFORE_PROCESSING_CANCEL" zurückgegeben, was zur Folge hat, dass ein Prüfpunkt erzwungen wird und der Job in den Status "Wieder anlauffähig" wechselt. Andernfalls wird der Job normal fortgesetzt. Wenn die vom BatchRecordProcessor.processRecord zurückgegebenen Daten gültig sind, werden sie an den Ausgabedatenstrom des Stapeldatenstroms übergeben.

Informationen zu dieser Task

Tabelle 1. Erforderliche Eigenschaften
Eigenschaftsname Wert Beschreibung

threshold_policy

Name der Java-Klasse

Klasse, die die Schnittstelle com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy implementiert

BATCHRECORDPROCESSOR

Name der Java-Klasse

Klasse, die die Schnittstelle BatchRecordProcessor implementiert

Tabelle 2. Optionale Eigenschaften
Eigenschaft Wert Beschreibung

debug

true oder false (der Standardwert ist false)

Tracing und Debugging für den Abschnitt aktivieren

EnablePerformanceMeasurement

true oder false (der Standardwert ist false)

Die im Abschnitt verwendete Zeit messen

Prozedur

  1. Implementieren Sie die Schnittstelle com.ibm.websphere.batch.devframework.steps.technologyadapters.BatchRecordProcessor, um die Geschäftslogik für den Abschnitt bereitzustellen. In der xJCL für den Abschnitt muss die Eigenschaft "BATCHRECORDPROCESSOR" deklariert werden, und ihr Wert muss auf die Implementierung der Schnittstelle gesetzt sein. Beispiel:
    ...
    		<props>
    	<prop name="BATCHRECORDPROCESSOR" value="com.ibm.websphere.batch.samples.tests.steps.InfrastructureVerificationTest"/>
    </props>
    ...    
  2. Implementieren Sie die Schnittstelle com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy, um die Schwellenwertrichtlinie für den Abschnitt bereitzustellen. Sie können auch die Produktimplementierungen verwenden, wie z. B. com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy oder com.ibm.websphere.batch.devframework.thresholdpolicies.RecordBasedThresholdPolicy. Deklarieren Sie die Schwellenwertrichtlinie, die in der xJCL deklariert werden soll, wie im folgenden Codeausschnitt gezeigt:
    ...  
    <props>		 		           
    		 <prop name="threshold_policy" value="com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy"/>  
    </props>
    ...  
  3. Setzen Sie den logischen Namen des BDS-Eingabedatenstroms auf "inputStream", den logischen Namen des BDS-Ausgabedatenstroms auf "outputStream" und den BDS-Ausgabedatenstrom für Fehler auf "errorStream". Die logischen Namen sind in der xJCL deklariert. Beispiel:
    <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. Wenn Sie BatchPackager für das Packen verwenden, muss die Klasse des Jobabschnitts (jobstepclass) auf com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep gesetzt sein. Beispiel:
    ejbname.1=IVTStep1
    jndiname.1=ejb/MyThresholdBatchStep
    jobstepclass.1=com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep



Zugehörige Konzepte
Framework und Muster für Stapeldatenströme
Zugehörige Tasks
Eine einfache Stapelanwendung entwickeln
Task-Artikel    

Nutzungsbedingungen | Feedback

Letzte Aktualisierung: 24.09.2009 16.46 Uhr EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/tcgerrant.html