WebSphere Extended Deployment Compute Grid, Version 6.1.1
             Sistemas operativos: AIX, HP-UX, Linux, Solaris, Windows,


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. Cursor-holdable JDBCReader es un patrón que se implementa de tal forma que el cursor no se pierde al comprometer la transacción. 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, escriba 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 necesarias

Tabla 1. Propiedades necesarias
Propiedad Valor 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 se aplica

Aplicable

jdbc_url El URL JDBC. Por ejemplo, jdbc:derby:C:\\mysample\\CREDITREPORT.

Aplicable

No se aplica

No se aplica

jdbc_driver El controlador JDBC. Por ejemplo, org.apache.derby.jdbc.EmbeddedDriver

Aplicable

No se aplica

No se aplica

userid El ID de usuario para la base de datos. Por ejemplo, Myid

Aplicable

No se aplica

No se aplica

pswd La contraseña de usuario. Por ejemplo, mypwd. Sólo LocalJDBCReader.

Aplicable

No se aplica

No se aplica

Propiedades opcionales

Tabla 2. Propiedades opcionales
Nombre de propiedad Valor Descripción LocalJDBCReader CursorHoldableJDCReader JDBCReader

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 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.
	 * 
	 * @param 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 el objeto intermedio que debe devolverse.
	 * @param 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 los datos relevantes que se procesarán durante los pasos de trabajo
	 * @return Objeto que se va a utilizar durante el paso de proceso
	 */
	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ía la clave primaria en la tabla y la consulta obtendrá     * todas las filas con el valor clave > restarttoken
	 * @param restartToken
	 * @return La consulta de reinicio
	 */
	public String getRestartQuery(String restartToken);
	
	/**
	 * Este método se invoca justo antes de tomarse un punto de control.
	 * @return El método debe devolver un valor de serie que identifique el último registro leído por la secuencia.
	 */
	public String getRestartTokens();
		
}

Ejemplo de xJCL

<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"/> <!-- sólo versiones anteriores a la versión 6103 -->
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.CursorHoldableJDBCReader</impl-class>
</bds>
</batch-data-streams>	        

Ejemplo de xJCL

<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>	        



Conceptos relacionados
Patrones e infraestructura de secuencia de datos por lotes
Información relacionada
JDBCWriterPattern
ByteWriterPattern
FileReaderPattern
FileWriterPattern
RecordOrientedDatasetReaderPattern
JPAReaderPattern
JPAWriterPattern
Tema de referencia    

Condiciones de uso | Comentarios

Última actualización: 22-sep-2009 09H47' EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/rbtchpttrnjd.html