失败步骤的 Spring 批处理作业退出状态

Jit*_*t B 6 java spring upgrade spring-batch

我最近使用Spring Batch 2.2.0 to 3.0.5. 我对数据库表进行了必要的更改,并对与参数 API 相关的一些细微代码进行了更改。

现在,当我运行该应用程序时,它正在运行,但如果某个步骤的退出状态为 FAILED,则作业的存在状态将设置为 COMPLETED。这会导致问题,因为我们的应用程序代码将此视为成功执行。我通过在afterJob()检查stepExecution列表的位置添加代码片段并手动设置作业退出状态来解决它,但 Spring Batch 框架不应该处理退出状态吗?

升级时我错过了什么吗?

参考:http : //docs.spring.io/spring-batch/reference/html/configureJob.html

小智 2

您可以使用<fail>内部的过渡元素<job>来指示作业停止,并且 BatchStatus 和 ExisStatus 为 FAILED。

<step id="step2" parent="s2">
    <fail on="FAILED" />
    <next on="*" to="step3"/>
</step>
Run Code Online (Sandbox Code Playgroud)