JDBCCallableStatementReaderPattern

Este patrón se utiliza para implementar la lógica empresarial de procesar datos procedente de una conexión de Java™ Database Connectivity (JDBC) utilizando un procedimiento almacenado. La tarea administrativa de abrir y cerrar la conexión es realizada por la infraestructura por lotes.

Clases de soporte

  1. JDBCCallableStatementReader

    Esta clase es referenciada cuando el patrón de uso de la secuencia de entrada de JDBC recupera un único resultado de una consulta. La consulta y los resultados se descartan después de cada iteración del paso. Esta clase es distinta de JDBCReader puesto que utiliza una sentencia a la que puede llamarse en lugar de una sentencia preparada.

  2. LocalJDBCCallableStatementReader

    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 la propiedad, su valor y corresponde la clase xJDBCCallableStatementReader o la clase LocalJDBCCallableStatementReader
Propiedad Value JDBCCallableStatementReader LocalJDBCCallableStatementReader
PATTERN_IMPL_CLASS La clase que implementa la interfaz JDBCCallableStatementReaderPattern. Aplicable Aplicable
ds_jndi_name El nombre de JNDI del origen de datos. Aplicable Aplicable
jdbc_url El URL de JDBC. Por ejemplo, jdbc:derby:C:\\mysample\\CREDITREPORT. No aplicable Aplicable
jdbc_driver El controlador JDBC. Por ejemplo, org.apache.derby.jdbc.EmbeddedDriver No aplicable Aplicable
userid El ID de usuario de la base de datos. No aplicable Aplicable
pswd Contraseña del usuario. No aplicable 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 corresponde la clase JDBCCallableStatementReader o la clase LocalJDBCCallableStatementReader.
Nombre de propiedad Value Descripción JDBCCallableStatementReader LocalJDBCCallableStatementReader
CursorHoldabilityEnabled true o false (el valor predeterminado es false) Habilita la retención del cursor para este lector de BDS Aplicable Aplicable
debug true o false. El valor predeterminado es false. Habilita el rastreo detallado en esta secuencia de datos por lotes. 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
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

Definición de interfaz

public interface JDBCCallableStatementReaderPattern {

		 /**
		  	 * 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 valores para las diversas columnas de la fila actual del
	 	 * objeto resultset especificado. Normalmente, estos datos se emplearán para llenar un
	 	 * objeto intermedio que será devuelto
	 	 * @parámetro resultSet
	 * @return      
	 */
		 	public Object fetchRecord(ResultSet resultSet);
		 
		 /**
	 	 * Este método debe dar como resultado un ResultSet utilizando por la secuencia para recuperar todos los datos
	 	 * relevantes que podrían procesarse como parte de los pasos del trabajo.
	 */
		public ResultSet getResultSet(CallableStatement cstmt) throws SQLException ;

	/**
	 	 * Este método debe devolver una consulta Callable que se empleará durante la configuración de la
	   * corriente para recuperar todos los datos relevantes que serían procesados como parte de los pasos de trabajo.
	 	 * @return object que utilizar durante el paso process.
	 */
		public CallableStatement getInitialCallableStatement(Connection con);
	
	/**
	 	 * Este método se llama durante el reinicio del trabajo. Debe utilizarse la señal de reinicio 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 de clave primaria > restarttoken
	 	 * @parámetro restartToken
	 	 * @devuelve La consulta de reinicio
	 */
		public CallableStatement getRestartCallableStatement(Connection con,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 de xJCL de JDBCCallableStatementReader

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="IMPLCLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="ds_jndi_name" value="jdbc/echojndi"/>
<prop name="debug" value="false"/>
<prop name="EnablePerformanceMeasurement" value="true"/> 
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.JDBCCallableStatementReader</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_btchpttrnjdcsread
File name: rgrid_btchpttrnjdcsread.html