我正在写Spring批处理块。 我有单一工作和单一步骤。在该步骤中,我具有可以动态调整大小的块。
SingleJob-> SingleStep-> chunk_1..chunk_2..chunk_3 ...等等
以下是我要实现的情况,
如果今天我运行了一个作业,但只有chunk_2
失败了,其余的块都成功运行了。现在,明天我只想运行/重新启动失败的块,即在这种情况下为chunk_2
。 (我不想运行整个Job / Step / Other成功完成的块)
我看到Spring批处理允许存储元数据,并使用它来重新启动Jobs。但我无法确定是否可以像上面讨论的那样重新启动特定的块。
如果我遗漏了任何概念,或者如果有可能,那么任何伪代码/理论解释或参考都将有所帮助。
感谢您的回复
答案 0 :(得分:1)
这就是Spring Batch在重启场景中的工作方式,它将在上次失败的运行中从上次中断的地方继续。
因此,在您的示例中,如果第一次运行的chunk1
已被正确处理而chunk2
失败,则下一个作业执行将从chunk2
重新开始。