我有一个用JSR-352(在wildfly上使用jberet)实现的批处理。
我有一个项目计数为15的块,并java.lang.Exception配置为可重试和可跳过的异常。
当有很多例外时,大多数项目将被多次处理。在这种极端情况下,所有项目都会在编写器中引发异常:
此时,由于没有成功的已处理项目,因此仍然没有检查点。因此,读者再次从第一项开始。所有30个项目的item-count = 1等。
如果存在许多此类失败,则批次将一次又一次地处理所有项目。
我认为也需要为跳过的项目设置检查点,因为跳过的项目不应该再次处理。
我认为这是规范中的错误,所以我已经在那打开了一个问题:https : //github.com/WASdev/standards.jsr352.batch-spec/issues/15 还是我错了,并且误解了实现?
在Spring Batch中如何实现?