Monthly Archives: septembre 2014

Spring batch exception

Il est possible de configurer un batch spring pour ne pas s’arrêter lorsqu’il rencontre un certain type d’exception en paramétrant les skyppables exceptions.spring batch chunk

Exception dans un reader

Non skyppable exception
Le batch s’arrête avec un statut en erreur.

Skyppable exception
J’ai fait le test en levant une exception dans un rowmapper.

  • la ligne ayant générée l’exception n’est pas traitée
  • les autres lignes sont traitées normalement

Exception dans un writer

Non skyppable exception
Le batch s’arrête avec un statut en erreur.

Skyppable exception
Le writer traite une ensemble d’items en fonction du paramètre commit-interval.
Lorsqu’une exception skyppable est levée dans un writer, le traitement par lot du writer s’arrête et la transaction est rollbackée.
Chaque élément du lot va être retraité séparément pour permettre d’exclure le fautif. Pour cela, le writer est ré-exécuté et reçoit les items un à un (comportement équivalent à commit-interval= »1″).
Ceci se produit même si le writer traite qu’un seul élément (commit-interval= »1″ par exemple) ou un seul élément à traiter dans le batch.