Spring Batch File Writer异常处理

时间:2012-06-13 17:49:10

标签: spring-batch

我有一个Spring Batch流程,它有以下类型的代码。

<step id="step1" xmlns="http://www.springframework.org/schema/batch">
        <tasklet allow-start-if-complete="true">
            <chunk reader="reader1" writer="writer1" commit-interval="10"/>
        </tasklet>
    </step>

<bean id="writer1" class="org.springframework.batch.item.file.FlatFileItemWriter">
    <property name="resource" ref="resourceFlatFile" />   
    <property name="shouldDeleteIfExists" value="true" />
    <property name="transactional" value="true" />
    <property name = "lineAggregator"> 
        <bean class="org.springframework.batch.item.file.transform.DelimitedLineAggregator" >
            <property name="delimiter" value=""/>
            <property name ="fieldExtractor"> 
                <bean class="com.path.MyExtractor" />
            </property>  
        </bean>
    </property> 
</bean> 

基本上我的读者会从数据库中提供一组记录。我的编写者(writer1)将其写入平面文件。如果在向文件写入记录时出现任何问题,我想在数据库中将该记录状态标记为失败。那么如何处理这些场景呢?任何帮助表示赞赏。

由于 我的问题是我是否有任何异常

1 个答案:

答案 0 :(得分:2)

我建议你研究使用ItemWriteListener并更新onWriteError实现中失败记录的状态。