Catch FlatFileParseException reader / Config XML
Bonjour
je cherche à capturer une exception lors du reader d'un Batch (Spring Batch 4.3.0 via configuration XML). Mais je n'y arrive pas.
Voici mon fichier job xml :
Code:
1 2 3 4 5 6 7 8 9
| <step id="step_1">
<tasklet>
<chunk
reader="ItemReader"
processor="ItemProcessor"
writer="ItemWriter" commit-interval="1000">
</chunk>
</tasklet>
</step> |
et le fichier reader.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <bean id="ItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
<property name="resource" value="#{jobParameters['inputResource']}"/>
<property name="lineMapper" ref="LineMapper"/>
</bean>
<bean id="LineMapper" class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
<property name="lineTokenizer" ref="LineTokenizer"/>
<property name="fieldSetMapper" ref="FieldSetMapper"/>
</bean>
<bean id="LineTokenizer" class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="delimiter" value="|"/>
<property name="names"
value="val1, val2, val3 etc..."/>
</bean>
<bean id="FieldSetMapper" class="fr.cnamts.xxx.batch.xxx.step.reader.FiledSetMapper"/> // Classe Java récupérant les données lues pour instancier un objetBO |
Mon problème lorsque le fichier en entrée comporte une erreur, j'ai cette trace en console :
Citation:
22/10/2020.13:37:01 INFO ItemWriter.java from InputFileObject:56 : Ecriture des adherents en base table STCO_NME_STAU_FIC_ADH réalisé avec succés.
22/10/2020.13:37:01 ERROR Marshaller.java from InputFileObject:62 : Erreur dans le job: [org.springframework.batch.item.file.FlatFileParseException: Parsing error at line: 1 in resource=[URL [file:champs...]] sur le fichier xxxx.tmp
Pourquoi le writer intervient alors que le reader plante avant ? J'aimerais capturer cette erreur au moment de la lecture et stopper le programme avec un message clair.
Merci pour vos pistes et retour.
Cdt,