在 Spring Batch 中,在块逻辑完成后但在提交/回滚之前执行某种逻辑的正确方法是什么?
afterChunk
目前在交易后触发。 如果我想在提交之前进行某种清理怎么办?(例如,清理插入beforeChunk
中的一些临时记录)。
我能想到的一种解决方法是使用 CompositeWriter,并将额外的逻辑作为另一个编写器。 但是,这将使维护变得困难,因为我无法组成包含该"额外逻辑"的共享父步骤配置。
ItemWriteListener.afterWrite()
在 ItemWriter.write(java.util.List) 之后调用 这将被称为 在任何事务提交之前,以及之前 ChunkListener.afterChunk(ChunkContext)