Spring批处理:只在ItemProcessListener上调用beforeProcess一次

时间:2013-08-22 15:13:15

标签: spring spring-batch

我想要实现的是 - 我想在执行ItemProcessor.process方法之前调用一个方法

如果我使用ItemProcessListener.beforeProcess,则会为ItemReader中读取的每个项调用它。

任何想法,如何实现这一目标? ItemProcessListener的其他替代方法?

1 个答案:

答案 0 :(得分:1)

确保方法被调用一次的最佳选择是使用StepExecutionListener并将此侦听器绑定到您使用ItemProcessor的步骤。
否则,如果您需要在ItemProcessor.process()之前调用ItemProcessListener并在StepExecutionContext中管理标记:如果未设置此标志(false)或缺席,请调用方法并将标志设置为true否则什么都不做 但是,如果您可以更准确地了解您的用例,则可以找到更好的解决方案 希望可以帮到你!