所以我有这份工作。它有 15 个步骤。可以打开或关闭这些步骤,以确定它们是否会运行(基于客户端)。
决策者决定COMPLETED
或FAILED
基于复选框是否已被选中以使其运行。
问题是我无法指定方法本身会发生什么。换句话说,我不能说失败,请转到 tasklet 中的第 3 步。因此,如果我的任何步骤 tasklet 抛出异常,整个作业都会失败。我只希望单个步骤失败。这可能吗?
<job id="regularEndOfDay" parent="jobParent" xmlns="http://www.springframework.org/schema/batch">
<decision id="eodStep01Decider" decider="eodDecider01">
<next on="COMPLETED" to="eodStep01PrintChartOfAccountsReport"/>
<next on="FAILED" to="eodStep02Decider"/>
</decision>
<step id="eodStep01PrintChartOfAccountsReport" next="eodStep02Decider">
<tasklet ref="printChartOfAccountsReportTasklet"/>
</step>
<decision id="eodStep02Decider" decider="eodDecider02">
<next on="COMPLETED" to="eodStep02PrintListOfEmployeeGoals"/>
<next on="FAILED" to="eodStep03Decider"/>
</decision>
<step id="eodStep02PrintListOfEmployeeGoals" next="eodStep03Decider">
<tasklet ref="printListOfEmployeeGoalsTasklet"/>
</step>
...