每个人。我正在使用 Spring Batch。我有一份由 3 个步骤组成的工作:Step1、Step2、Step3。通过这 3 个步骤,我配置了这种循环:
+--> Step1 --> Step2 --> Step3 --+
| |
+--------------------------------+
我想执行这个循环 3 次。
在第一次迭代结束时,Spring Batch 有一个执行每个步骤的实例:每个步骤执行实例都有一个状态 BatchStatus.COMPLETED 和一个退出状态 ExitStatus.COMPLETED。
在第 2 次迭代中,Step1 成功完成;Step2 失败。
现在,如果我尝试重新运行作业,Spring Batch 不会执行 Step1:它已完成;所以它执行Step2。Step2 成功完成,现在问题出现了: Spring Batch 不执行 Step3:db 中有一个 Step3 的 step 执行实例,它是 COMPLETED(在第一次迭代之后创建的);同时,出于类似的原因,它确实注意到执行 Step1。所以它在无限循环中执行Step2!
我能做些什么?我希望在第二次尝试执行作业时,在 Step2 之后,执行 Step3,然后执行 Step1,依此类推。
提前致谢。