首先,您絕對使用正確的步驟來檢查數據庫連接。現在對於你的問題,我會嘗試在部分解釋(希望我是正確的):
案例一:「我的問題是,當一個數據庫連接不可用,整個作業停止」
這情況很明顯。每當某個步驟發現任何錯誤時,它就會拋出異常並停止Job的整個執行。
但是,這是否意味着如果連接出錯,步驟「檢查Db連接」將停止檢查數據庫連接。答案是NO。該步驟將完成測試所有連接,即使它在中間連接中出現錯誤。試着仔細觀察日誌,它會給你所有的檢查DB連接的最終彙總列表(查看下圖):
我試着用4個DB連接測試外面我得到了一個錯誤和三個成功。
現在爲「整個工作停止」部分:由於停車的行爲是明顯的(如我所提到的),你可以做的是通過使用「錯誤跳」,使流動如果作業發現錯誤,它將採用錯誤跳躍。 檢查圖像下方:
在這裏,我已經使用兩級跳:一個成功和有一個錯誤。如果作業失敗,則將採用錯誤路徑(紅色着色跳躍),否則將採用成功路徑(綠色跳躍)。
案例二:「錯誤記錄爲不可訪問DB和創造的成功測試一種新的動態列表」
您可以登錄錯誤到一個單獨的日誌文件或表(取決於您的要求),然後通讀日誌以生成數據庫連接列表。檢查圖像下面:
輸出與錯誤標誌一起生成的連接的列表。
Y : Failure in connecting to Database
N : successful connection
注:我已經使用文本文件的輸入,因爲我已經登錄上一步驟到一個文本文件,而不是數據庫。您可以根據您的需求進行自定義。
我已將示例代碼放入gist。你可以檢查你的參考。
希望它有幫助:)
感謝您的詳細解釋Rishu,這就是我所缺少的。這太棒了!我沒有在DBconnections步驟中使用錯誤檢查。現在工作很好! – Patrick 2015-02-09 15:23:15
歡迎@帕特里克:)高興地幫助! – Rishu 2015-02-09 17:07:00