commit-interval未按预期工作

时间:2015-05-11 13:09:34

标签: java spring spring-batch

假设我们在DB中有1000个项目,我们一次尝试获取和删除10个项目。为此我们已经实现了Spring批处理。

根据以下配置。

<batch:chunk reader="tokenReader" writer="tokenWriter" commit-interval="10"></batch:chunk>

我们有ItemReader类,它一次从数据库中获取10个项目,并将10个令牌的列表传递给ItemWriter

因此,在处理了10个项目之后,它应该理想地提交。

但我们面临以下问题。

使用commit-interval = 10,JobLauncher启动10个线程,每个线程从数据库中获取相同的10个令牌,一旦ItemReader将10个令牌的列表传递给ItemWriter,我们就会收到异常(“The token is already marked to be deleted”{ {1}})。

但是,如果我们设置JPA Exception,它只启动commit-interval = 1个线程并成功执行,一次获取并删除10个项目。

0 个答案:

没有答案