我在spring批處理中有幾個作業。在Spring批處理作業之間創建依賴關係的可能方法
第一份工作是一種驗證工作,它運行一些數據庫查詢並知道其他工作應該運行或不運行。
但是,如何將這些知識傳遞給他們應該運行或異常結束的剩餘工作?
這種情況下最好的方法是什麼?
我能想到的一種方法是創建一個標誌文件(unix touch命令),它將指示要運行的其他作業。最後的作業將在下一天的最後一步中刪除文件。
這是正確的方法嗎?如果是,如何從tasklet內部運行touch命令?
感謝您的閱讀!
我在spring批處理中有幾個作業。在Spring批處理作業之間創建依賴關係的可能方法
第一份工作是一種驗證工作,它運行一些數據庫查詢並知道其他工作應該運行或不運行。
但是,如何將這些知識傳遞給他們應該運行或異常結束的剩餘工作?
這種情況下最好的方法是什麼?
我能想到的一種方法是創建一個標誌文件(unix touch命令),它將指示要運行的其他作業。最後的作業將在下一天的最後一步中刪除文件。
這是正確的方法嗎?如果是,如何從tasklet內部運行touch命令?
感謝您的閱讀!
這是非常容易的:讀§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" />
可能你沒有讀過我的問題......我知道步驟之間的依賴關係是可能的......但我不希望..我想要工作之間的依賴關係... – Nik 2011-12-22 04:45:52
@NikunjChauhan:也許你需要更準確地處理你的問題。你問「......他們應該跑步還是終止」。這正是使用流程所實現的。如果你需要在作業之間傳遞一些信息,那麼使用'ExecutionContext'。 – 2011-12-22 16:08:27
存在特定軟件的這一要求,例如uc4,但對於一個簡單的解決方案,我會使用一個shell腳本作爲「作業控制器」 – 2011-12-22 07:51:44