Java EE批处理:当一个失败时停止执行步骤

时间:2017-06-25 21:02:54

标签: java java-ee batch-processing

我正在使用批处理,我认为如果步骤失败,那么下一步就不会被执行,但似乎并非如此。 那我怎么能得到这种行为呢?

这是我的批处理文件的一部分:

<?xml version="1.0" encoding="UTF-8"?>
<job id="review-job" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/jobXML_1_0.xsd" version="1.0">
    <step id="step0" next="step1" >
        <batchlet ref="startProcessBatchlet">
            <properties>
                <property name="nextQueue" value="jms/step1" />
            </properties>
        </batchlet>
    </step>
    <step id="step1" next="step2"  >
        <batchlet ref="validClientBatchlet">
            <properties>
                <property name="myQueue" value="jms/step1" />
                <property name="nextQueue" value="jms/step2" />
            </properties>
        </batchlet>
    </step>
</job>

如果任何步骤失败,它应该停止执行并将批次标记为失败。

1 个答案:

答案 0 :(得分:0)

如果作业需要在步骤失败时失败,则JSR 352具有end on子句。

将以下语句添加到jsl定义中。 <end on="FAILED"/>

谢谢, 沙