3

次の種類のコードを持つSpringBatchプロセスがあります。

<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 に答える