2011-12-21 30 views
0

我在spring批處理中有幾個作業。在Spring批處理作業之間創建依賴關係的可能方法

第一份工作是一種驗證工作,它運行一些數據庫查詢並知道其他工作應該運行或不運行。

但是,如何將這些知識傳遞給他們應該運行或異常結束的剩餘工作?

這種情況下最好的方法是什麼?

我能想到的一種方法是創建一個標誌文件(unix touch命令),它將指示要運行的其他作業。最後的作業將在下一天的最後一步中刪除文件。

這是正確的方法嗎?如果是,如何從tasklet內部運行touch命令?

感謝您的閱讀!

+1

存在特定軟件的這一要求,例如uc4,但對於一個簡單的解決方案,我會使用一個shell腳本作爲「作業控制器」 – 2011-12-22 07:51:44

回答

0

這是非常容易的:讀§5.3.2.1. Batch Status vs. Exit Status

<step id="step1"> 
    <end on="FAILED" /> 
    <next on="COMPLETED WITH SKIPS" to="fallbackStep" /> 
    <next on="*" to="step2" /> 
</step> 
<step id="step2" /> 
<step id="fallbackStep" /> 
+0

可能你沒有讀過我的問題......我知道步驟之間的依賴關係是可能的......但我不希望..我想要工作之間的依賴關係... – Nik 2011-12-22 04:45:52

+0

@NikunjChauhan:也許你需要更準確地處理你的問題。你問「......他們應該跑步還是終止」。這正是使用流程所實現的。如果你需要在作業之間傳遞一些信息,那麼使用'ExecutionContext'。 – 2011-12-22 16:08:27

相關問題