Implémentation de l'étape de tolérance d'erreurs (ThresholdBatchStep)

Une étape de traitement par lots générique de tolérance des erreurs fonctionne avec un flux de données d'entrées, de sorties et d'erreurs. Au cours de chaque itération de la boucle de traitement par lots, cette étape lit une seule entrée dans le flux d'entrées du flux de données par lots et la transmet à la propriété BatchRecordProcessor pour traitement.

Avant de commencer

La propriété BatchRecordProcessor peut retourner un objet de données valide ou une valeur nulle dans une erreur tolérable. Si la valeur est nulle, la lecture de l'enregistrement à partir du flux d'entrées est consignée dans le flux d'erreur et la méthode invalidRecordEncountered est appelée sur l'interface ThresholdPolicy. Le règle de seuil détermine si le seuil de tolérance d'erreur a été atteint. Si c'est le cas, elle renvoie STEP_CONTINUE_FORCE_CHECKPOINT_BEFORE_PROCESSING_CANCEL, qui impose un point de contrôle et donne au travail l'état 'redémarrable'. Sinon, le travail se poursuit normalement. Si les données renvoyées par BatchRecordProcessor.processRecord sont valides, elles sont transmises au flux de sorties BDS.

Pourquoi et quand exécuter cette tâche

Utilisez les propriétés suivantes pour implémenter l'étape de tolérance d'erreur.

Tableau 1. Propriétés requises. Le tableau contient le nom, la valeur et la description de chaque propriété.
Nom de la propriété Valeur Description
threshold_policy Nom de classe Java Classe implémentant l'interface com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy
BATCHRECORDPROCESSOR Nom de classe Java Classe implémentant l'interface BatchRecordProcessor
Tableau 2. Propriétés facultatives. Le tableau contient le nom, la valeur et la description de chaque propriété.
Propriété Valeur Description
debug true ou false (la valeur par défaut est false) Activer les fonctions de trace et de débogage sur l'étape
EnablePerformanceMeasurement true ou false (la valeur par défaut est false) Mesurer le temps écoulé pendant l'étape

Procédure

  1. Implémentez l'interface com.ibm.websphere.batch.devframework.steps.technologyadapters.BatchRecordProcessor pour fournir la logique métier pour l'étape.

    Dans le xJCL de l'étape, déclarez une propriété BATCHRECORDPROCESSOR avec la valeur définie sur l'implémentation de l'interface. Exemple :

    ...
    <props>	 
    	<prop name="BATCHRECORDPROCESSOR"
        value="com.ibm.websphere.batch.samples.tests.steps.InfrastructureVerificationTest"/>
    </props>
    ...    
  2. Implémentez l'interface com.ibm.websphere.batch.devframework.thresholdpolicies.ThresholdPolicy pour fournir la règle de seuil pour l'étape. Vous pouvez également utiliser des implémentations produit telles que com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy ou com.ibm.websphere.batch.devframework.thresholdpolicies.RecordBasedThresholdPolicy.

    Déclarez la règle de seuil à utiliser dans xJCL, comme indiqué dans le fragment de code suivant :

    ...  
    <props>	 
    	 <prop name="threshold_policy"
        value="com.ibm.websphere.batch.devframework.thresholdpolicies.PercentageBasedThresholdPolicy"/>  
    </props>  
    ...  
  3. Définissez le nom logique de flux d'entrées BDS sur inputStream, un nom logique de flux de sorties BDS sur outputStream et le flux de sorties BDS des erreurs sur errorStream.

    Les noms logiques sont déclarés dans xJCL. Exemple :

    <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. Lors de l'utilisation de BatchPackager pour le conditionnement, l'application pour la classe de l'étape de travail, jobstepclass, doit avoir pour valeur com.ibm.websphere.batch.devframework.steps.technologyadapters.ThresholdBatchStep. Par exemple :

    Utilisation de 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

    Utilisation de WebSphere Extended Deployment Compute Grid Version 8.0 :

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

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_cgerrant
Nom du fichier : tgrid_cgerrant.html