【发布时间】:2017-12-25 12:27:34
【问题描述】:
我的批处理任务是由最终用户触发的,所以我不想在应用程序启动时执行所有批处理作业(使用spring.batch.job.enabled=false)。
但我希望有一个解决方案来处理这种情况,
当应用程序启动时,spring-batch 可以继续由于应用程序重启或异常中断而中断的批处理作业。
【问题讨论】:
-
@SabirKhan 谢谢
我的批处理任务是由最终用户触发的,所以我不想在应用程序启动时执行所有批处理作业(使用spring.batch.job.enabled=false)。
但我希望有一个解决方案来处理这种情况,
当应用程序启动时,spring-batch 可以继续由于应用程序重启或异常中断而中断的批处理作业。
【问题讨论】:
Spring Batch 中失败/中断作业的恢复是通过提交具有相同作业参数的相同作业来实现的。
因此您可以执行以下操作来重新提交失败的作业(假设您使用 DB 来存储作业元数据)
【讨论】:
JobOperator 的所有需求都是唯一的 executionId,因此 API 非常简单且运行良好。