并行作业管理器应用程序编程接口 (API)
先前发行版中的并行作业管理器 (PJM) SPI 目前为 API。将它们打包为应用程序的一部分。
参数化 API
参数化 API 的目标是将顶级作业划分为多个下级作业。 参数化 API 确定要创建的下级作业数以及传递给每个下级作业的输入属性。通常,输入属性包含哪些数据块处理特定下级作业的相关信息。参数化 API 的实现是必需的。
具有缺省参数化 API,此 API 提供一般参数化的基本功能。要调用此实现,请在 xJCL 中将 com.ibm.websphere.batch.parallel.parameterizer 属性设置为值 com.ibm.ws.batch.parallel.BuiltInParameterizer。要指定下级作业数,请将 com.ibm.wsspi.batch.parallel.jobs 输入属性设置为 N,其中,N 为下级作业数。要指定特定下级作业实例的唯一属性,请使用属性 com.ibm.wsspi.batch.parallel.prop.<property_name>.<subordinate_job>=<value>,其中,subordinate_job 是下级作业实例(1 < 下级作业 < N)。<property_name>= <value> 格式的所有其他属性对于所有下级作业可视。
同步 API
在逻辑事务的各个生命周期阶段期间,同步 API 为您提供控件。例如,Begin、beforeCompletion 和 afterCompletion 生命周期。必要时,您可以使用这些控制点来回滚逻辑事务。
SubJobCollector API
SubJobCollector API 收集与下级作业执行相关的信息。在一般实现中,将有关下级作业的进度信息作为可外部化的对象存储在下级作业上下文中。批处理容器启动收集器 API 时,会返回先前存储在下级作业上下文中的信息。
SubJobAnalyzer API
SubJobAnalyzer API 用来分析先前使用 SubJobCollector API 收集的信息。在一般实现中,SubJobAnalyzer API 用于聚集从所有下级作业获取的信息以确定顶级作业的合并返回码。检查点处理和作业完成时会调用 SubJobAnalyzer API。
上下文对象
- ParallelJobManagerContext:存在于并行作业的范围中。 参数、SubJobAnalyzer 和同步 API 都具有对给定并行作业实例的此上下文的访问权。
- SubJobContext:存在于下级作业的范围中。SubJobCollector、批处理应用程序编程模型工件、BatchDataStream、BatchJobStepInterface、CheckpointPolicyAlgorithm 和 ResultsAlgorithm 都具有对给定下级作业实例的该上下文的访问权。