WebSphere Extended Deployment, Version 6.0.x     Sistemas operativos: AIX, HP-UX, Linux, Solaris, Windows, z/OS

Algoritmos de punto de control

El entorno de larga ejecución (LREE) utiliza algoritmos de punto de control para determinar cuándo comprometer transacciones globales bajo las cuales se invocan los pasos por lotes. Estos algoritmos se aplican a un trabajo por lotes a través de la definición xJCL. Las propiedades especificadas para los algoritmos de punto de control en xJCL permiten que se personalice, para los pasos por lotes, el comportamiento de los puntos de control como, por ejemplo, los tiempos de espera excedido de transacción y los intervalos de puntos de control. WebSphere Extended Deployment proporciona un algoritmo de punto de control basado en el tiempo y un algoritmo basado en el registro, y define una Interfaz de proveedor de servicio (SPI) para crear algoritmos de punto de control personalizados adicionales.

En todas las repeticiones de un paso por lotes del método processJobStep, LREE consulta al algoritmo de punto de control aplicado a ese paso si debe cometer la transacción global o no. Los métodos de retorno de llamada de los algoritmos de punto de control permiten a LREE que informe al algoritmo cuando se comete o se inicia una transacción global. Esto permite que el algoritmo haga un seguimiento del ciclo de vida de la transacción global. En todas las iteraciones del método processJobStep, LREE llama al método de retorno de llamada ShouldCheckpointBeExecuted del algoritmo para determinar si debería cometerse la transacción y es a través de este método que el algoritmo controla el intervalo de punto de control.

Para obtener la SPI de algoritmos de punto de control que puede utilizarse para crear algoritmos de punto de control personalizados, consulte la API por lotes para la SPI de algoritmos de punto de control, que se encuentra en la sección de referencia de Centro de información. El nombre de clase es com.ibm.wsspi.batch.CheckpointPolicyAlgorithm.

Dos algoritmos de punto de control se facilitan con este producto: el algoritmo basado en el tiempo y el algoritmo basado en el registro. Ambos se describen en las siguientes secciones.

Algoritmo basado en el tiempo

El algoritmo de punto de control basado en el tiempo comete transacciones globales a intervalos de tiempo específicos. A continuación aparece un ejemplo sobre cómo declarar un algoritmo basado en el tiempo en xJCL:
<checkpoint-algorithm name="timebased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.timebased</classname>
     <props>
           <prop name="interval" value="15" />
           <prop name="TransactionTimeOut" value="30" />
     </props>
</checkpoint-algorithm>

Las unidades de intervalo y de las propiedades TransactionTimeOut del ejemplo anterior se expresan en segundos.

Algoritmo basado en el registro

El algoritmo de punto de control basado en el registro comete transacciones globales en función de un número específico de iteración del método processJobStep de un paso por lotes. Todas las llamadas al método processJobStep son tratadas con iteraciones a través de un registro. Tenga en cuenta que processJobStep puede recuperar varios registros de una secuencia de datos por lotes por cada llamada pero para este algoritmo de punto de control un registro equivale a una llamada a processJobStep.

A continuación aparece un ejemplo de cómo declarar un algoritmo basado en el registro en xJCL:
<checkpoint-algorithm name="recordbased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.recordbased</classname>
     <props>
           <prop name="recordcount" value="1000" />
           <prop name="TransactionTimeOut" value="60" />
     </props>
</checkpoint-algorithm>

La unidad de la propiedad TransactionTimeOut del ejemplo anterior se empresa en segundos.

Si no se especifica en xJCL, el tiempo de espera excedido de transacción es de 60 segundos y el recuento de registros por omisión es de 10000.

Aplicación de un algoritmo de punto de control a un paso por lotes

Los algoritmos de punto de control se aplican a un trabajo por lotes mediante xJCL. Aunque varios algoritmos de punto de control pueden declararse en xJCL, sólo uno distinto puede aplicarse a cada paso por lotes. No se puede aplicar más de un algoritmo de punto de control a un paso por lotes.

A continuación aparece un ejemplo de cómo aplicar algoritmos de punto de control en xJCL:

<job name="PostingsSampleEar">

<checkpoint-algorithm name="timebased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.timebased</classname>	
     <props>
           <prop name="interval" value="15" />
           <prop name=" TransactionTimeOut" value="30" />
     </props>
</checkpoint-algorithm>

<checkpoint-algorithm name="recordbased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.recordbased</classname>
     <props>
           <prop name="recordcount" value="1000" />
           <prop name="TransactionTimeOut" value="60" />
     </props>
</checkpoint-algorithm>

<job-step name="Step1">
     <checkpoint-algorithm-ref name="timebased" />
</job-step>

<job-step name="Step2">
     <checkpoint-algorithm-ref name="recordbased" />
</job-step>
</job>



Related concepts
Modelo de programación por lotes

Tema de concepto    

Condiciones de uso | Comentarios Última actualización: Mar 14, 2006 11:03:53 AM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/scheduler/cxdbatchalg.html

© Copyright IBM 2005, 2006. Reservados todos los derechos.
Este centro de información se ha realizado con tecnología de Eclipse. (http://www.eclipse.org)