SPRING BATCH 運(yùn)行機(jī)制
JOB的XML配置相當(dāng)于命令模式中的一個命令,每次運(yùn)行,會生成一個JOB INSTANCE,同時也會生成一個JOB EXCETION,JOB INSTANCE表示有一個JOB,JOB EXECUTION表示進(jìn)行第一次嘗試。失敗運(yùn)行的JOB再次運(yùn)行時,只生成一個JOB EXCETION,表示進(jìn)行的第二次嘗試。當(dāng)SPRING BATCH JOB引擎接到運(yùn)行請求時,有以下幾種情況:@import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);- 判斷此JOB以前是否有運(yùn)行過,判斷依據(jù):根據(jù)JOB NAME和JOB PARAMETERS信息去這兩張表查找,如找到記錄,則是有運(yùn)行過,如確定有則引擎退出并提示。
- 判斷是否有重復(fù)運(yùn)行的JOB,如果沒,查找此JOB上次運(yùn)行的情況,如果有FAIL的情況,則重新從上次失敗的地方運(yùn)行繼續(xù)運(yùn)行,判斷根據(jù):根據(jù)JOB INSTANCE關(guān)聯(lián)的JOB EXECUTION查找是否有狀態(tài)為FAIL的記錄,如有則是,就新建一個JOB EXECUTION表示進(jìn)行第二次嘗試,同時又生成關(guān)于新JOB的JOB EXECUTION。上次的JOB運(yùn)行完后,再運(yùn)行此次新JOB。判斷上次失敗的STEP的依據(jù):查找對應(yīng)的JOB EXECUTON的STEP EXECUTON狀態(tài)為FAIL的STEP即可,會從此步驟開始運(yùn)行,而不是從第一步開始運(yùn)行。
參考文檔:
posted on 2012-10-20 11:57 paulwong 閱讀(953) 評論(0) 編輯 收藏 所屬分類: SRPING BATCH