結果演算法是批次程式設計模型的選用特性。
結果演算法允許在批次步驟結束時出現以下兩類型的動作:
結果演算法透過 xJCL 套用到批次工作上。它們先在 xJCL 中宣告,然後再套用到批次步驟上。 請注意,多個結果演算法可同時套用到一個批次步驟上。
在批次步驟結束時,長時間執行的執行環境 (LREE) 會檢查批次工作的 xJCL,以瞭解呼叫了哪些結果演算法。 針對指定的每一個結果演算法,LREE 會將批次步驟的回覆碼 - 該步驟的 destroyJobStep 方法所傳回的整數 - 以及 LREE 資料庫中批次工作的現行回覆碼傳給演算法。 如此,結果演算法就會根據傳入的回覆碼來採取任何必要的動作。接著,演算法會將批次工作的回覆碼傳回給 LREE(並一直保存在 LREE 資料庫中),當作該批次工作的現行回覆碼。這個回覆碼可以是 LREE 首先傳給結果演算法的 相同回覆碼,也可以是不同的回覆碼,視結果演算法中撰寫的邏輯而定。
所提供的結果演算法 SPI 也可讓客戶撰寫自己的演算法並套用到批次工作上。 請查看這個服務提供者介面 (SPI) 的 API。
WebSphere Extended Deployment Infocenter 中有提供 jobsum 演算法的程式碼。
將 jobsum 結果演算法套用到步驟的範例
<job name="PostingSampleEar"> <results-algorithms> <results-algorithm name="jobsum"> <classname>com.ibm.wsspi..resultsalgorithms.jobsum</classname> </results-algorithm> </results-algorithms> <job-step name="Step1"> <results-ref name="jobsum"> </job-step> <job-step name="Step2"> <results-ref name="jobsum"> </job-step>
將多個演算法套用到工作步驟的範例:
</job> <job name="PostingSampleEar"> <results-algorithms> <results-algorithm name="jobsum"> <classname>com.ibm.wsspi..resultsalgorithms.jobsum</classname> </results algorithm> <results-algorithm name="custom_algorithm"> <classname>my_custom_algorithm</classname> </results-algorithm> </results-algoriths> <job-step name="Step1"> <results-ref name="jobsum"> </job-step> <job-step name="Step2"> <results-ref name="custom_algorithm"> <results-ref name="jobsum"> </job-step> </job>