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


JPAReaderPattern

Este patrón se utiliza para recuperar datos de una base de datos utilizando OpenJPA.

Clases de soporte

JPAREADERThe
  1. JPAReader: actualmente, JPAReader no participa en la transacción global. Emplea un URL de conexión JDBC y un nombre de controlador para comunicarse con una base de datos. En futuras versiones se dará soporte a transacciones gestionadas si está presente el paquete de características de EJB 3.0.

Propiedades necesarias

Tabla 1. Propiedades necesarias
Propiedad Valor
PATTERN_IMPL_CLASS Clase que implementa la interfaz JPAReaderPattern
openjpa.ConnectionDriverName El controlador JDBC. Por ejemplo, org.apache.derby.jdbc.EmbeddedDriver
openjpa.ConnectionURL El URL JDBC. Por ejemplo, jdbc:derby:C:\\mysample CREDITREPORT
openjpa.jdbc.SynchronizeMappings Propiedad específica de JPA. Por ejemplo, buildSchema
openjpa.ConnectionUserName El ID de usuario para la base de datos. Por ejemplo, Myid
openjpa.ConnectionPassword La contraseña de usuario. Por ejemplo, mypwd.
PERSISTENT_UNIT El nombre de unidad persistente de OpenJPA.

Propiedades opcionales

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

debug

true o false (el valor predeterminado es false)

Habilita el rastreo detallado en esta secuencia de datos por lotes.

openjpa.Log

DefaultLevel=WARN,SQL=TRACE

Valores de anotaciones de JPA

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.

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.

Definición de interfaz

public interface JPAReaderPattern {

	/**
	 * 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 Iterator 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 listIt
	 * @return
	 */
	public Object fetchRecord(Iterator listIt);
	
	/**
	 * Este método debe devolver una consulta JPQL 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 JPQL 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="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<prop name="openjpa.ConnectionURL" value="jdbc:derby:/opt/tmp/hellojpadb;create=true"/>
<prop name="openjpa.ConnectionUserName" value="" />
<prop name="openjpa.ConnectionPassword" value="" />
<prop name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
<prop name="openjpa.Log" value="DefaultLevel=WARN,SQL=TRACE"/>
<prop name="PERSISTENT_UNIT" value="hellojpa"/>
<prop name="debug" value="true"/>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.samples.JPAOutputStream"/>
</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
JDBCReaderPattern
ByteWriterPattern
FileReaderPattern
FileWriterPattern
JPAWriterPattern
RecordOrientedDatasetReaderPattern


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/rbtchpttrn9.html