我已经使用SpringBatch几个月了。
我曾经将与执行相关的变量(如页数,项目数,批处理的当前位置等)存储到Bean中。然后,使用ItemReaderItemProcessor -setters和getter将那些bean装入ItemWritersetVar()getVar()。同样,这些Bean通过手动同步在线程之间共享。

但是现在我发现这可能是做批处理工作的错误方法。装载到ItemReaders的Bean不能在JobRepository中持久存在,因此无法记录用于停止和重新启动Job的状态。因此,我仍然需要返回并使用StepExecution / JobExecution
我在网上找到的那些示例全部基于XML配置,或者更差的SpEL自动连接到setter方法。

我仅使用Java Config。是否有访问StepExecution的Java配置或面向Java代码的方式?访问各种ExecutionContext的最佳实践是什么?

最佳答案

要访问StepExecutionJobExecution,您可以根据需要使用带有包org.springframework.batch.core.annotation中带有批注的方法或实现JobExecutionListenerStepExecutionListener之类的迭代器

10-06 09:03