Este patrón se utiliza para recuperar datos de una base de datos utilizando OpenJPA.
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. |
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. |
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(); }
<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>