有没有办法在弹簧批处理中的块中发生异常之前获取写入记录的数量?例如,如果我的提交间隔为1000,并且前900次写入成功,并且第901条记录失败导致chunkError,我想将审计文件更新为900.我是否可以使用stepExecution中的任何属性?< / p>
答案 0 :(得分:0)
Afaik,从Spring Batch 2开始,与面向块的处理相关的API发生了变化。
ItemWriter
将整个项目列为一个列表。因此,除非您使用的ItemWriter
实施记录了失败的项目,否则Step
本身无法知道它,因为它全部隐藏在ItemWriter
内。
您可能需要查看正在使用的ItemWriter
实施,以确定它是否在任何地方保存任何信息(例如ChunkContext
/ StepExecutionContext
等)