Java 春季批半书面记录计数

Java 春季批半书面记录计数,java,spring,spring-batch,Java,Spring,Spring Batch,在spring批处理中的块中发生异常之前,是否有方法获取写入记录的数量?例如,如果我的提交间隔为1000,并且前900次写入成功,而901st记录失败导致chunkError,那么我希望将审计文件更新为900。有什么属性可以从stepExecution中使用吗?Afaik,从SpringBatch 2开始,与面向块处理相关的API已经更改 ItemWriter将整个项目块作为一个列表。因此,除非您正在使用的ItemWriter实现记录了失败的项,否则步骤本身无法知道它,因为它都隐藏在ItemWr

在spring批处理中的块中发生异常之前,是否有方法获取写入记录的数量?例如,如果我的提交间隔为1000,并且前900次写入成功,而901st记录失败导致chunkError,那么我希望将审计文件更新为900。有什么属性可以从stepExecution中使用吗?

Afaik,从SpringBatch 2开始,与面向块处理相关的API已经更改

ItemWriter
将整个项目块作为一个列表。因此,除非您正在使用的
ItemWriter
实现记录了失败的项,否则
步骤本身无法知道它,因为它都隐藏在
ItemWriter


您可能需要检查您正在使用的
ItemWriter
实现,以查看它是否在任何地方保存任何信息(例如在
ChunkContext
/
StepExecutionContext
等中)

,您是否希望由于事务回滚而回滚900,还是将其配置为不回滚?嗨,michael..我想停止执行,而不回滚已写入队列的事务。嗨,michael..我通过在writer中为每条记录递增一个实例变量来实现它,并使writer实现stepexecutionlistener和itemwriterlistener。当发生异常时,我将实例变量计数器放入stepexecution并将其写入审计文件。这是设计/实现它的好方法吗?