3

我有一个 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) 将其写入平面文件。如果将记录写入文件有任何问题,我想将该记录状态标记为数据库中的失败。那么如何处理这些场景呢?任何帮助表示赞赏。

谢谢我的问题是我是否有任何异常

4

1 回答 1

2

我建议您考虑使用ItemWriteListener并更新 onWriteError 实现中失败记录的状态。

于 2012-06-15T10:25:55.583 回答