JDBCCallableStatementWriterPattern
Este patrón se utiliza para implementar la lógica empresarial de exportar datos a 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
- JDBCCallableStatementWriter
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 JBDCWriter puesto que utiliza una sentencia a la que puede llamarse en lugar de una sentencia preparada.
- LocalJDBCCallableStatementWriter
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.
Propiedad | Value | JDBCCallableStatementWriter | LocalJDBCCallableStatementWriter |
---|---|---|---|
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.
Nombre de propiedad | Value | Descripción | JDBCCallableStatementWriter | LocalJDBCCallableStatementWriter |
---|---|---|---|---|
debug | true o false. El valor predeterminado es false. | Habilita el rastreo detallado en esta secuencia de datos por lotes. | Aplicable | Aplicable |
batch_interval | El valor predeterminado es 20. Haga que el valor sea menor que el intervalo del punto de control para la sincronización basada en el registro. | Indica el número de actualizaciones SQL que se deben procesar por lotes antes de comprometerse. | 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 JDBCCallableStatementWriterPattern {
/**
* 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);
/**
* Esta es normalmente una consulta de actualización utilizada para grabar datos en la base de datos
* @return
*/
public String getCallableStatementSQL();
/**
* La clase padre BDSCallableStatementJDBCWriter crea una nueva CallableStatement y
* pasa a este método. Este método rellena CallableStatement con
* valores adecuados y la devuelve a la clase padre para su ejecución
* @parámetro pstmt
* @parámetro record
* @return
*/
public CallableStatement writeRecord(CallableStatement pstmt, Object record);
}
Ejemplo de xJCL de JDBCCallableStatementWriter
<batch-data-streams>
<bds>
<logical-name>outputStream</logical-name>
<props>
<prop name="IMPLCLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoWriter"/>
<prop name="ds_jndi_name" value="jdbc/IVTdbxa"/>
<prop name="batch_interval" value="2"/>
<prop name="EnablePerformanceMeasurement" value="true"/>
<prop name="debug" value="false"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.JDBCCallableStatementWriter</impl-class>
</bds>
</batch-data-streams>