【发布时间】:2015-01-06 06:08:46
【问题描述】:
如果多步骤批处理中的步骤失败,控制台上会显示步骤失败消息。
BATCH_STATUS 也是 COMPLETED 和 EXIT_STATUS 是 FAILED.
Q.1 如何将EXIT_STATUS 更改为COMPLETED?
Q.2 是否有可能不在控制台中显示失败消息
示例代码
<job id="someJob" xmlns="http://www.springframework.org/schema/batch"
restartable="true" parent="baseJob">
<step id="aStep">
<job ref="aJob" />
<next on="*" to="bStep"/>
</step>
<step id="bStep" parent="aStep" next="cStep">
<job ref="bJob"/>
</step>
<step id="cStep" parent="bStep">
<job ref="cJob"/>
</step>
</job>
<job id="aJob" xmlns="http://www.springframework.org/schema/batch"
restartable="true" parent="baseJob">
<step id="aJobStep">
<tasklet ref="aJobTasklet" />
</step>
</job>
<job id="bJob" xmlns="http://www.springframework.org/schema/batch"
restartable="true" parent="baseJob">
<step id="bJobStep">
<tasklet ref="bJobTasklet" />
</step>
</job>
<job id="cJob" xmlns="http://www.springframework.org/schema/batch"
restartable="true" parent="baseJob">
<step id="cJobStep">
<tasklet ref="cJobTasklet" />
</step>
</job>
如果步骤aStep 对作业someJob 失败(aStep 抛出了一些SQLException)。
然后someJob继续执行。但是在成功完成cStep之后,BATCH_STATUS对于someJob是COMPLETED但是EXIT_STATUS=FAILED。
还有BATCH_STATUS和EXIT_STATUS的其他步骤如下。
Step Name BATCH_STATUS EXIT_STATUS
aStep FAILED FAILED
bStep COMPLETED COMPLETED
cStep COMPLETED COMPLETED
【问题讨论】:
-
您的意思是要忽略步骤中发生的错误吗?我认为你可以通过使用 flow 来做到这一点
标签: spring-batch