Secuencias de datos por lotes

Las secuencias de datos por lotes (BDS) son objetos Java™ que proporcionan una abstracción para la secuencia de datos procesada por un paso por lotes. Un paso por lotes puede tener uno o más objetos BDS asociados al mismo. Mediante lospuntos finales de trabajos de larga duración se asocian los BDS con el paso por lotes disponible en el tiempo de ejecución. Los puntos finales de trabajos de larga duración también gestionan el ciclo de vida de un BDS invocando retornos de llamadas específicas por lotes.

Un objeto BDS implementa la interfaz com.ibm.websphere.batch.BatchDataStream. Esta interfaz no depende del servidor. El objeto que implementa puede recuperar datos de cualquier tipo de origen de datos como, por ejemplo, archivos y bases de datos. Los métodos de retorno de llamada en la interfaz BatchDataStream permiten que los puntos finales de trabajos de larga duración gestionen la BDS en el tiempo de ejecución. Una de las características clave de una BDS es la posibilidad de comunicar su posición actual en la corriente a los puntos finales de trabajos de larga duración y la posibilidad de posicionarse en una determinada ubicación en la corriente de datos. Esta característica permite a los puntos finales de trabajos de larga duración registrar (en la base de datos de puntos finales de trabajos de larga duración) cuántos datos ha procesado un paso por lotes. Esta información se registra en cada punto de control. Por lo tanto, los puntos finales de trabajos de larga duración pueden reiniciar un trabajo por lotes desde una posición registrada en la corriente de datos si el trabajo se cancela o se produce un error de modo recuperable.

A continuación se listan los principales métodos de la interfaz BatchDataStream. Consulte la API de la interfaz BatchDataStream para obtener información adicional.

void open()
Invocado por los puntos finales de trabajos de larga duración para abrir la BDS
void close()
Invocado por los puntos finales de trabajos de larga duración para cerrar la BDS
void initialize(String nombreLogico, String pidPasoTrabajo)
Invocado por los puntos finales de trabajos de larga duración para inicializar la BDS y comunicar su nombre lógico y su ID de paso de trabajo
String externalizeCheckpointInformation()
Invocado por los puntos finales de trabajos de larga duración antes de un punto de comprobación para registrar el cursor actual de la BDS
void internalizeCheckpointInformation(String chkpointInfo)
Invocado por los puntos finales de trabajos de larga duración para notificar a la BDS el cursor registrado previamente, chkpointInfo. Generalmente, se llama a positionAtCurrentCheckpoint después de esta llamada para mover la BDS en este cursor.
void positionAtCurrentCheckpoint()
Invocado por los puntos finales de trabajos de larga duración después de invocar internalizeCheckpointInformation para mover la BDS al cursor indicado por la chkpointInfo pasada a través de la llamada internalizeCheckpointInformation

La interfaz BatchDataStream no tiene métodos para recuperar o escribir datos. No existen los métodos getNextRecord y putNextRecord definidos en la interfaz a los que un paso por lotes llama para leer o escribir en el objeto BDS. Los métodos de intercambio de datos entre el paso por lotes y el objeto BDS son responsabilidad de la implementación del objeto BDS. Revise los ejemplos por lotes a los que da soporte este producto para ver ejemplos sobre cómo se implementan las secuencias de datos por lotes.

Entorno de transacciones
Todos los métodos de un objeto BDS se invocan en una transacción global. No existe ninguna garantía de que varias llamadas de método consecutivas realizadas a un objeto BDS ocurran en la misma transacción, ya que la transacción es propiedad de los puntos finales de trabajos de larga duración, no del objeto BDS.

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cgrid_xdbatchds
File name: cgrid_xdbatchds.html