结果算法
结果算法是批处理编程模型的可选功能。
结果算法允许在批处理步骤结束时进行两种类型的操作:
- 影响基于刚刚结束的批处理步骤返回码的批处理作业的返回码。具有两种类型的返回码:单个批处理步骤的返回码以及步骤所属的批处理作业的返回码。
- 基于各种步骤返回码为触发器或要执行的操作提供占位符。
结果算法通过 XML 作业控制语言 (xJCL) 应用于批处理作业。这些算法会在 xJCL 中声明,然后应用于批处理步骤。
批处理步骤结束时,网格端点会检查此批处理作业的 xJCL,以确定调用哪个结果算法。 对于每个指定的结果算法,网格端点将批处理步骤的返回码(此返回码为该步骤的 destroyJobStep 方法返回的整数)以及网格端点数据库中的批处理步骤的当前返回码传递给该算法。 然后,结果算法会基于传入的返回码进行操作。之后,此算法会将批处理作业的返回码传递回网格端点,此返回码作为批处理作业的当前返回码在网格端点数据库中一直存在。根据编码到结果算法中的逻辑,此返回码可与网格端点最初传递给结果算法的返回码一样,也可以不同。如果未在批处理步骤上指定结果算法,那么作业返回码为先前步骤中的结果算法的返回码。如果未指定结果算法,那么作业返回码为零 (0)。
还会提供结果算法系统编程接口 (SPI),您可以使用此接口编写自己的算法,并将它们应用到批处理作业。
jobsum 结果算法
jobsum
结果算法将作业步骤的最大返回码返回到网格端点。
例如,作业中具有三个步骤(步骤 1、步骤 2 和步骤 3),且存在以下条件:
- 步骤 1 返回 5
- 步骤 2 返回 8
- 步骤 3 返回 2。jobsum 算法确保将 8 作为作业的最后返回码传递给网格端点。
- 将 jobsum 和定制结果算法应用到步骤的示例
<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-algorithms> <job-step name="Step1"> <results-ref name="jobsum"> </job-step> <job-step name="Step2"> <results-ref name="custom_algorithm"> </job-step> </job>