PureQueryReaderPattern
Este patrón se usa para leer datos de una base de datos usando el entorno de ejecución IBM® Optim pureQuery. La infraestructura BDS (secuencia de datos por lotes) completa las tareas administrativas de apertura y cierre de conexiones.
Clases de soporte
La clase PureQueryReader implementa las operaciones básicas de apertura y cierre de conexiones a base de datos, y la obtención de datos del entorno de ejecución IBM Optim pureQuery.
Propiedades obligatorias
Las propiedades siguientes son necesarias para el patrón.
Nombre de propiedad | Value |
---|---|
PATTERN_IMPL_CLASS | Clase que implemente la interfaz de PureQueryReaderPattern |
PQ_DATA_BEAN_INTERFACE | Interfaz de bean de datos PureQuery |
ds_jndi_name | Nombre JNDI (Java™ Naming and Directory Interface) del origen de datos para acceder a la base de datos |
Propiedades opcionales
Para el patrón las propiedades siguientes son opcionales.
Nombre de propiedad | Value | Descripción |
---|---|---|
debug | true o false (El valor predeterminado es false.) | Habilita el rastreo detallado en esta secuencia de datos por lotes |
DB_SCHEMA | null | Nombre de esquema de la base de datos |
EnablePerformanceMeasurement | true o false (El valor predeterminado es false.) | Calcula el tiempo total invertido en las secuencias de datos por lotes y en el método processRecord, si se utiliza GenericXDBatchStep |
Definición de interfaz
La definición de la interfaz PureQueryReaderPattern muestra los métodos que debe implementar para dar soporte a la interfaz PureQueryReaderPattern.
public interface PureQueryReaderPattern
{
/**
* This method is called by the batch container during step setup. The properties passed
* in are the ones that you provide in the xJCL BDS level properties.
* @param properties
*/
public void initialize(Properties properties);
/**
* Invoked by the container during each iteration of the batch loop. This code obtains
* the next record using the given iterator object.
* @param iterator
* @return
*/
public Object fetchRecord(Iterator iterator);
/**
* Returns the iterator based on the passed data object that is used to iterate
* over the records
* @param data
* @return
*/
public Iterator getInitialIterator(Data data);
/**
* Devuelve el iterador en función del objeto de datos pasado reposicionado en función de la
* señal de reinicio de restartToken.
* @param data
* @param s
* @return
*/
public Iterator getRestartIterator(Data data, String restartToken);
/**
* Invoked before a checkpoint is taken to save the restart token that is used in case
* of a restart
* @return
*/
public String getRestartTokens();
}
Ejemplo xJCL
El ejemplo muestra el xJCL que puede utilizar para definir una secuencia de datos por lotes que implementa la interfaz PureQueryReaderPattern en la aplicación.
<batch-data-streams>
<bds>
<logical-name>outputStream</logical-name>
<props>
<prop name="IMPLCLASS" value="com.ibm.MyWriterPattern"/>
<prop name="ds_jndi_name" value="jdbc/crreport"/>
<prop name="debug" value="true"/>
<prop name="DB_SCHEMA" value="PQDS"/>
<prop name="PQ_DATA_BEAN_INTERFACE" value="com.ibm.MyEmployeeData"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.PureQueryReader</impl-class>
</bds></batch-data-streams>