我有一个简单的工作如下:
<batch:step id="step">
<batch:tasklet>
<batch:chunk reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-interval="5000" />
</batch:tasklet>
</batch:step>
itemReader 如下:
<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">
<bean
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="delimiter" value="," />
<property name="names" value="${INPUT_FILE_FIELDS}" />
</bean>
</property>
<property name="fieldSetMapper">
<bean
class="org.springframework.batch.item.file.mapping.PassThroughFieldSetMapper" />
</property>
</bean>
</property>
<property name="resource" value="#{stepExecutionContext['inputKeyName']}" />
</bean>
我正在获取带有单行标题的输入文件。我想将标题行设置为 ${INPUT_FILE_FIELDS} 供读者使用。我正在尝试使用 skippedLinesCallback 属性来实现它,但被困在了这个过程中。
无论如何我可以读取标题行并将其设置为 input_fields 以便读者解析文件中的其余记录。请建议。