Spring Batch Item Reader多次读取同一项

时间:2015-10-16 12:57:36

标签: spring jpa transactions spring-batch

我使用的是JpaPagingItemReader,我注意到它不止一次地读取相同的行。在文档中它确实说“如果第一次调用是在回滚的事务中,调用者可能会从连续调用(或其他)中获得相同的项目两次。”但是当我检查回滚计数时它是0.我在每个方法中添加了所有带有日志的监听器,并且读取,处理和写入都成功完成(onError()永远不会被调用)。什么可能导致多次加载同一个项目?

更新: JPAPagingItemReader配置如下

<bean id="reader" class="org.springframework.batch.item.database.JpaPagingItemReader" scope="step" p:entityManagerFactory-ref="entityManagerFactory" >
        <property name="queryString" value="SELECT item FROM Item item WHERE item.batchId = #{jobParameters[batchId]}"/>
</bean>

0 个答案:

没有答案