【发布时间】:2021-10-09 06:01:33
【问题描述】:
早安,
我有一个使用不同步骤的 Spring 批处理,作业如下所示:
@Bean
public Job myJob() throws Exception {
return jobBuilderFactory.get("MyJob").repository(batchConfiguration.jobRepository())
.start(step1()).next(step2()).build();
}
在我的step1()中,它有自己的读取器、处理器和写入器,在这个写入器中,我将更新表A。
然后在我的step2() 中,它也有自己的读取器、处理器和写入器。而这个reader是从A表中读取的,从逻辑上讲,它需要依赖A表中的数据更新。
但是,当我运行这个批处理作业时,我发现我的step2() 阅读器实际上选择了与step1() 相同的数据,无论如何我可以让step1() 编写器先提交,然后我的step2() 阅读器读取更新的数据?
【问题讨论】:
标签: java spring commit writer spring-batch-tasklet