JDBCReaderPattern

Este patrón se utiliza para recuperar datos de una base de datos utilizando una conexión JDBC (Java™ Database Connectivity).

Clases de soporte

  1. CursorHoldableJDBCReader
    Se hace referencia a esta clase cuando el patrón de uso de la corriente de entrada JDBC recupera un conjunto de resultados al principio del paso y, a continuación, los repite durante toda la lógica de proceso de pasos. CursorHoldableJDBCReader utiliza un bean de sesión con estado con un origen de datos no XA que puede mantenerse con un cursor. Un JDBCReader que puede mantenerse con un cursor es un patrón que se implementa de forma que el cursor no se pierde cuando se confirma la transacción. As Por consiguiente, no es necesario volver a llenar ResultSets después de cada punto de control, lo que mejora el rendimiento. Para utilizar CursorHoldableJDBCReader, empaquete CursorHoldableSessionBean en la aplicación. Para crear el paquete, añada la propiedad nonxadsjndiname=nombre_jndi_de_un_origen_datos_no_XA_a_base_datos al archivo de propiedades que utiliza BatchPackager. Por ejemplo, nonxadsjndiname=jdbc/nonxads. Si desea añadir varios orígenes de datos no XA, especifique lo siguiente: nonxadsjndiname=<nombre jndi1>;<nombre jndi2>...
    Restricción: Actualmente, el nombre de referencia de recurso del origen de datos JDBC es el mismo que el nombre JNDI (Java Naming and Directory Interface).
  2. JDBCReader

    Se hace referencia a esta clase cuando el patrón de uso de la corriente de entrada recupera un solo resultado de una consulta, que se utiliza y descarta después de cada iteración del paso.

  3. LocalJDBCReader

    Se hace referencia a esta clase cuando se leen datos de una base de datos local.

Propiedades obligatorias

Las propiedades siguientes son necesarias para el patrón.
Tabla 1. Propiedades obligatorias. La tabla incluye cada propiedad necesaria, su valor y si la clase LocalJDBCReader, la clase CursorHoldableJDBCReader o la clase JDBCReader es aplicable.
Propiedad Value LocalJDBCReader CursorHoldableJDBCReader JDBCReader
PATTERN_IMPL_CLASS Clase que implementa la interfaz JDBCReaderPattern Aplicable Aplicable Aplicable
ds_jndi_name Nombre JNDI del origen de datos. Aplicable No aplicable Aplicable
jdbc_url El URL de JDBC. Por ejemplo, jdbc:derby:C:\\mysample\\CREDITREPORT. Aplicable No aplicable No aplicable
jdbc_driver El controlador JDBC. Por ejemplo, org.apache.derby.jdbc.EmbeddedDriver Aplicable No aplicable No aplicable
userid El ID de usuario de la base de datos. Por ejemplo, Myid Aplicable No aplicable No aplicable
pswd Contraseña de usuario. Por ejemplo, mypwd. Sólo LocalJDBCReader. Aplicable No aplicable No aplicable

Propiedades opcionales

Para el patrón las propiedades siguientes son opcionales.
Tabla 2. Propiedades opcionales . La tabla incluye cada propiedad opcional, su valor y descripción, y si la clase LocalJDBCReader, la clase CursorHoldableJDBCReader o la clase JDBCReader es aplicable.
Nombre de propiedad Value Descripción LocalJDBCReader CursorHoldableJDCReader JDBCReader
CursorHoldabilityEnabled true o false (el valor predeterminado es false) Habilita la retención del cursor para este lector de BDS Aplicable Aplicable Aplicable
debug true o false (el valor predeterminado es false) Habilita el rastreo detallado en esta secuencia de datos por lotes. Aplicable Aplicable Aplicable
EnablePerformanceMeasurement true o false (el valor predeterminado es false) Calcula el tiempo total invertido en las secuencias de datos por lotes y el método processRecord, si se utiliza GenericXDBatchStep. Aplicable Aplicable Aplicable
EnableDetailedPerformanceMeasurement true o false (el valor predeterminado es false) Proporciona un desglose más detallado del tiempo invertido en cada método de las secuencias de datos por lotes. Aplicable Aplicable Aplicable

Definición de interfaz

public interface JDBCReaderPattern {

	/**
	 	 * Este método se invoca durante la fase de configuración de trabajo.
	 * 
	 	 * @parámetro props Propiedades proporcionadas en el xJCL 
	 */
	
	public void initialize(Properties props);
	
	/**
	 	 * Este método debe recuperar del objeto resultset dado los valores para las diversas columnas de la
   * fila actual. Normalmente estos datos se emplearán para llenar un objeto intermedio que se devolverá.
	 	 * @parámetro resultSet
	 * @return      
	 */
		public Object fetchRecord(ResultSet resultSet);
	
	/**
	 	 * Este método debe devolver una consulta SQL que se empleará durante la configuración de la
   * secuencia para recuperar todos los datos relevantes que se procesarán durante los pasos de trabajo
	 	 * @return object que utilizar durante el paso process.
	 */
		public String getInitialLookupQuery();
	
	/**
	 	 * Este método se llama durante el reinicio del trabajo. La señal de reinicio debe utilizarse para crear una consulta SQL
   * que recuperará registros no procesados anteriormente. Normalmente, la señal de reinicio será
   * la clave primaria en la tabla y la consulta obtendrá
	 todas las filas con el valor de clave primaria > restarttoken
	 	 * @parámetro restartToken
	 	 * @devuelve La consulta de reinicio
	 */
		public String getRestartQuery(String restartToken);
	
	/**
	 	 * Este método se invoca justo antes de tomarse un punto de control.
	 	 * @devuelve El método debe devolver un valor de serie que identifique el último registro leído por la secuencia.
	 */
	public  String getRestartTokens();
		
}

Ejemplo xJCL CursorHoldableJDBCReader

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="ds_jndi_name" value="jdbc/fvtdb"/>
<prop name="debug" value="true"/>
<prop name="DEFAULT_APPLICATION_NAME" value="XDCGIVT"/> 
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.CursorHoldableJDBCReader</impl-class>
</bds>
</batch-data-streams>

Ejemplo xJCL LocalJDBCReader

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="jdbc_url" value="jdbc:derby:C:\\mysample\\CREDITREPORT"/>
<prop name="jdbc_driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<prop name="user_id" value="myuserid"/>
<prop name="pswd" value="mypswd"/>
<prop name="debug" value="true"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.LocalJDBCReader</impl-class>
</bds>
</batch-data-streams>

Icon that indicates the type of topic Reference topic



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