Interfaces de programación de aplicaciones (API) del gestor de trabajos paralelos
Lo que antes eran SPI del gestor de trabajos paralelos (PJM) en releases anteriores son ahora API. Están empaquetadas como parte de la aplicación.
API de parametrización
La finalidad de la API de parametrización es dividir el trabajo de nivel superior en varios trabajos subordinados. La API de parametrización determina el número de trabajos subordinados que se van a crear y las propiedades de entrada pasadas a cada trabajo subordinado. Normalmente, las propiedades de entrada contienen información para las que los fragmentos de datos procesan un trabajo subordinado concreto. La implementación de la API de parametrización es obligatoria.
Hay una API de parametrización predeterminada que proporciona las funciones básicas del parametrizador genérico. Para invocar esta implementación, establezca la propiedad com.ibm.websphere.batch.parallel.parameterizer en un valor de com.ibm.ws.batch.parallel.builtinparameterizer en el xJCL. Para especificar el número de trabajos subordinados, establezca la propiedad de entrada com.ibm.wsspi.batch.parallel.jobs en N, donde N es el número del trabajo subordinado. Para especificar una propiedad exclusiva de una instancia de trabajo subordinado específica, utilice la propiedad com.ibm.wsspi.batch.parallel.prop.<nombre_propiedad>.<trabajo_subordinado>=<valor> donde trabajo_subordinado es la instancia de trabajo subordinado (1< trabajo subordinado < N). Todas las demás propiedades con el formato <nombre_propiedad>= <valor> son visibles para todos los trabajos subordinados.
API de sincronización
La API de sincronización le da el control durante las diversas etapas del ciclo de vida de la transacción lógica. Por ejemplo, las etapas del ciclo de vida Begin, beforeCompletion y afterCompletion. Puede utilizar estos puntos de control para retrotraer la transacción lógica si es necesario.
API SubJobCollector
La API SubJobCollector recopila información relacionada con la ejecución de un trabajo subordinado. En una implementación típica, la información de progreso sobre un trabajo subordinado se almacena como un objeto externalizable dentro del contexto del trabajo subordinado. Cuando el contenedor de proceso por lotes inicia la API de recopilador, se devuelve la información almacenada anteriormente dentro del contexto del trabajo subordinado.
API SubJobAnalyzer
La API SubJobAnalyzer se utiliza para analizar información recopilada anteriormente utilizando la API SubJobCollector. En una implementación típica, la API SubJobAnalyzer se utiliza para agregar información obtenida de todos los trabajos subordinados para determinar el código de retorno consolidado para el trabajo de nivel superior. La API SubJobAnalyzer se invoca durante el proceso de puntos de comprobación y al completarse el trabajo.
Objetos de contexto
- ParallelJobManagerContext: existe en el ámbito de un trabajo paralelo. Las API Parameters, SubJobAnalyzer y Synchronization tienen acceso a este contexto para una instancia de trabajo paralelo dada.
- SubJobContext: existe en el ámbito de un trabajo subordinado. La API SubJobCollector y los artefactos del modelo de programación de aplicaciones de proceso por lotes BatchDataStream, BatchJobStepInterface, CheckpointPolicyAlgorithm y ResultsAlgorithm tienen acceso a este contexto para una instancia de trabajo subordinado dada.