Spring batch Spring批处理:OnSkipInWrite打印日志两次???怎样?

Spring batch Spring批处理:OnSkipInWrite打印日志两次???怎样?,spring-batch,Spring Batch,在执行spring批处理时,我面临着一个更严峻的局面。我已将作业步骤执行配置为使用“可跳过的异常类”作为 我想知道为什么日志文件打印了两次跳过的项,而我调试它只执行一次?请向我推荐修复朋友…最有可能的原因是spring批处理区块已回滚,并作为一个区块项目一次重试(而不是整个区块大小): <step id="prepareFileStep" next="fillRecordsCounterStep"> <tasklet> <chunk reader="stag

在执行spring批处理时,我面临着一个更严峻的局面。我已将作业步骤执行配置为使用“可跳过的异常类”作为


我想知道为什么日志文件打印了两次跳过的项,而我调试它只执行一次?请向我推荐修复朋友…

最有可能的原因是spring批处理区块已回滚,并作为一个区块项目一次重试(而不是整个区块大小):

<step id="prepareFileStep" next="fillRecordsCounterStep">
<tasklet>
   <chunk reader="stagingIdReader" writer="customerIdRecordCompWriter" commit-interval="50" skip-limit="200">
    <streams>
         <stream ref="flatFileRecordWriter" />
    </streams>
    <skippable-exception-classes>
         <include class="java.lang.Exception" /> 
    </skippable-exception-classes>
</chunk>
<listeners>
         <listener ref="prepareFlatFileSkipListener" />
    <listener ref="prepareFlatFileStepListener" />
</listeners>
</tasklet>
@OnSkipInWrite
public void onSkipInWrite(Object item, Throwable exception) {
    AppLog.warn(AppConstants.CALLER, "Skipping Customer Id:"+ item.getCustomer().getCustomerId()+"\n" + exception.toString());
}