如何重新启动失败的块-Spring Batch

时间:2019-04-30 04:39:37

标签: spring-batch

我正在写Spring批处理块。 我有单一工作和单一步骤。在该步骤中,我具有可以动态调整大小的块。

  

SingleJob-> SingleStep-> chunk_1..chunk_2..chunk_3 ...等等

以下是我要实现的情况,

如果今天我运行了一个作业,但只有chunk_2失败了,其余的块都成功运行了。现在,明天我只想运行/重新启动失败的块,即在这种情况下为chunk_2。 (我不想运行整个Job / Step / Other成功完成的块)

我看到Spring批处理允许存储元数据,并使用它来重新启动Jobs。但我无法确定是否可以像上面讨论的那样重新启动特定的块。

如果我遗漏了任何概念,或者如果有可能,那么任何伪代码/理论解释或参考都将有所帮助。

感谢您的回复

1 个答案:

答案 0 :(得分:1)

这就是Spring Batch在重启场景中的工作方式,它将在上次失败的运行中从上次中断的地方继续。

因此,在您的示例中,如果第一次运行的chunk1已被正确处理而chunk2失败,则下一个作业执行将从chunk2重新开始。