JPAReaderPattern

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

Clases de soporte

La clase JPAReader realiza las tareas de obtención de un gestor de entidad, ejecución de las consultas proporcionadas por el usuario e iteración en los resultados de la consulta. Es necesario que haya un archivo persistence.xml empaquetado con la aplicación de usuario.

Propiedades obligatorias

Las propiedades siguientes son necesarias para el patrón.

Tabla 1. Propiedades obligatorias. La tabla incluye el nombre y el valor de cada propiedad necesaria para el patrón.
Nombre de propiedad Value
PATTERN_IMPL_CLASS Clase que implementa la interfaz JPAReaderPattern
PERSISTENT_UNIT El nombre de unidad persistente de OpenJPA.

Propiedades opcionales

Para el patrón las propiedades siguientes son opcionales.

Tabla 2. Propiedades opcionales . La tabla incluye el nombre, el valor y la descripción de cada propiedad opcional para el patrón.
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.
openjpa.Log DefaultLevel=WARN,SQL=TRACE Valores de registro 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 se 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.
	 * 
	 	 * @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 Iterator dado. Normalmente, estos datos se emplearán para llenar un
   * objeto intermedio que devolverse.
	 	 * @parámetro listIt
	 * @return      
	 */
		public Object fetchRecord(Iterator listIt);
	
	/**
	 	 * Este método debe devolver una consulta JPQL que se empleará durante la configuración de la corriente
   * para recuperar todos los datos relevantes que se procesarán como parte de 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. Debe utilizarse la señal de reinicio para crear
   * una consulta JPQL que recuperará registros no procesados anteriormente. Normalmente, la señal de reinicio
   * es 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

<batch-data-streams> 
<bds>  
<logical-name>inputStream</logical-name>  
<props>  
<prop name="PERSISTENT_UNIT" value="hellojpa"/>
<prop name="debug" value="true"/>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.samples.JPAInputStream"/>
</props>  
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.JPAReader</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_btchpttrn9
File name: rgrid_btchpttrn9.html