清洁异常终止的弹簧批处理作业

时间:2017-07-12 09:32:12

标签: spring-batch instance

我们的Spring Batch作业在处理输入文件时突然失败。 当我试图重新运行批处理作业时,它会抛出以下信息。

02:27:09.088 [main] DEBUG o.s.b.c.r.dao.JdbcStepExecutionDao - 在更新StepExecution之前截断长消息,原始消息是:org.springframework.batch.core.JobExecutionException:无法从STARTING状态重新启动步骤。旧的执行可能仍在执行,因此您可能需要手动验证是否属于这种情况。

我知道如果Spring批处理作业异常失败,那么rewards_job_execution,batch_job_execution和batch_step_execution表将无法获得正确的状态和end_time。

有没有成功的方法来完成/完成当前实例并开始一个新实例?

2 个答案:

答案 0 :(得分:0)

Spring Batch中没有任何内容可以进行这种类型的清理。主要原因是通常决定做什么(执行是FAILED吗?是COMPLETE吗?是否是别的?)通常是工作层面的人为决定。你需要自己处理清理工作。

答案 1 :(得分:0)

你应该使用skiplistener。 重新开始这个