Spring Batch - Valider les Lignes d'en-Tête d'entrée de fichier csv et ignorer le fichier si il invalide

J'ai un travail simple comme ci-dessous:

<batch:step id="step">
 <batch:tasklet>
  <batch:chunk reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-    interval="5000" />
 </batch:tasklet>
</batch:step>

itemReader est comme ci-dessous:

<bean id="itemReader" class="org.springframework.batch.item.file.FlatFileItemReader"
scope="step">
 <property name="linesToSkip" value="1"></property>
 <property name="skippedLinesCallback" ref="skippedLinesCallback" ></property>

 <property name="lineMapper">
    <bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
                <property name="lineTokenizer" ref="lineTokenizer">                
                <property name="delimiter" value="," />                    
            </bean>
        </property>
        <property name="fieldSetMapper">
            <bean
                class="org.springframework.batch.item.file.mapping.PassThroughFieldSetMapper" />
        </property>
    </bean>
</property>
<property name="resource" value="#{stepExecutionContext['inputKeyName']}" />
</bean>

<bean id"lineTokenizer"                        class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">

<bean id="skippedLinesCallback" class="com.test.IteMReaderHeader" >
<property name="lineTokenizer" ref="lineTokenizer">
</bean>

Je suis en train de les "noms" des champs de saisie dans "com.test.IteMReaderHeader" de la classe par l'injection de "lineTokenizer".

J'ai besoin de valider les lignes d'en-tête qui est la 1ère ligne dans l'entrée de fichier csv avec un en-tête fixe de la valeur et si la ligne d'en-tête invalide, alors dans ce cas j'ai besoin d'échec de l'étape et de passer la totalité de fichier, de sorte que le prochain fichier peut être utilisé pour la lecture.

Veuillez suggérer la manière de l'atteindre.
J'apprécierais vraiment votre temps et de votre précieuse contribution.

Merci !!

OriginalL'auteur grathi | 2013-08-29