无论如何在块之后但在提交之前执行逻辑

时间:2014-04-04 06:38:35

标签: spring-batch

在Spring Batch中,在块逻辑完成后执行某种逻辑的正确方法是什么,但是在提交/回滚之前

交易后当前触发了

afterChunk。如果我想在提交之前做某种清理怎么办? (例如,清除beforeChunk中插入的一些临时记录。)

我能想到的一个解决方法是使用CompositeWriter,并将额外的逻辑作为另一个编写器。但是它会使维护变得困难,因为我无法构成包含"额外逻辑"的共享父步骤配置。

1 个答案:

答案 0 :(得分:1)

您可以使用ItemWriteListener.afterWrite()

  

在ItemWriter.write之后调用(java.util.List)这将被调用   在任何交易提交之前和之前   ChunkListener.afterChunk(ChunkContext)