spring batch中控制step的走向


1、順序執行step:

<job id="job">
    <step id="stepA" parent="s1" next="stepB" />
    <step id="stepB" parent="s2" next="stepC"/>
    <step id="stepC" parent="s3" />
</job>

2、分支執行:

<job id="job">
    <step id="stepA" parent="s1">
        <next on="*" to="stepB" />
        <next on="FAILED" to="stepC" />
    </step>
    <step id="stepB" parent="s2" next="stepC" />
    <step id="stepC" parent="s3" />
</job>

當用xml配置文件的時候,on屬性可以使用通配符來表達step的返回狀態。目前,只支持兩種符號:*和?。

  • "*" 匹配0個或者多個字符

  • "?" 只能匹配1個字符

比如, "c*t"匹配"cat"和"count",但是"c?t"只能匹配"cat",不能匹配 "count"。

3、BatchStatus VS ExitStatus

1)BatchStatus是一個enum類型,包括:

COMPLETED, STARTING, STARTED, STOPPING, STOPPED, FAILED, ABANDONED, UNKNOWN

而ExitStatus是一個普通類,可以是任意返回值,主要有以下幾個:

UNKNOWN,EXECUTING,COMPLETED,NOOP,FAILED,STOPPED

2)當用xml配置文件的時候,next元素表示的是ExitStatus

3)當用java代碼的時候,on方法表示的還是ExitStatus

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM