JDBCCallableStatementWriterPattern
Dieses Muster wird verwendet, um die Geschäftslogik für die Ausgabe von Daten in einer JDBC-Verbindung (Java™ Database Connectivity) mit einer gespeicherten Prozedur zu implementieren. Die Verwaltungstasks für das Öffnen und Schließen der Verbindung werden vom Stapelframework ausgeführt.
Unterstützungsklassen
- JDBCCallableStatementWriter
Diese Klasse wird referenziert, wenn das Verwendungsmuster Ihres JDBC-Eingabedatenstroms ein einzelnes Ergebnis aus einer Abfrage abruft. Die Abfrage und die Ergebnisse werden nach jeder Iteration des Abschnitts verworfen. Diese Klasse unterscheidet sich insofern von JBDCWriter, dass sie eine aufrufbare Anweisung anstelle einer vorbereiteten Anweisung verwendet.
- LocalJDBCCallableStatementWriter
Diese Klasse wird referenziert, wenn Daten aus einer lokalen Datenbank gelesen werden.
Erforderliche Eigenschaften
Die folgenden Eigenschaften sind für das Muster erforderlich.
Eigenschaft | Wert | JDBCCallableStatementWriter | LocalJDBCCallableStatementWriter |
---|---|---|---|
PATTERN_IMPL_CLASS | Die Klasse, die die Schnittstelle "JDBCCallableStatementReaderPattern" implementiert. | Zutreffend | Zutreffend |
ds_jndi_name | Der JNDI-Name der Datenquelle. | Zutreffend | Zutreffend |
jdbc_url | Der JDBC-URL, z. B. jdbc:derby:C:\\mysample\\CREDITREPORT. | Nicht zutreffend | Zutreffend |
jdbc_driver | Der JDBC-Treiber. Beispiel: org.apache.derby.jdbc.EmbeddedDriver | Nicht zutreffend | Zutreffend |
userid | Die Benutzer-ID für die Datenbank. | Nicht zutreffend | Zutreffend |
pswd | Das Benutzerkennwort. | Nicht zutreffend | Zutreffend |
Optionale Eigenschaften
Die folgenden Eigenschaften sind für das Muster optional.
Eigenschaftsname | Wert | Beschreibung | JDBCCallableStatementWriter | LocalJDBCCallableStatementWriter |
---|---|---|---|---|
debug | true oder false. Der Standardwert ist false. | Aktiviert detailliertes Tracing in diesem Stapeldatenstrom. | Zutreffend | Zutreffend |
batch_interval | Der Standardwert ist 20. Dieser Wert muss niedriger sein als das Prüfpunktintervall für das datensatzbasierte Prüfpunktverfahren. | Benennt die Anzahl der SQL-Aktualisierungen, die vor der Festschreibung in den Stapel gestellt werden sollen. | Zutreffend | Zutreffend |
EnablePerformanceMeasurement | true oder false. Der Standardwert ist false. | Berechnet die Gesamtzeit in den Stapeldatenströmen und in der Methode processRecord bei Verwendung des GenericXDBatchStep. | Zutreffend | Zutreffend |
EnableDetailedPerformanceMeasurement | true oder false. Der Standardwert ist false. | Bietet eine detailliertere Aufgliederung der Zeit pro Methode des Stapeldatenstroms. | Zutreffend | Zutreffend |
Schnittstellendefinition
public interface JDBCCallableStatementWriterPattern {
/**
* Diese Methode wird während der Konfiguration des Jobs aufgerufen.
*
* @param props - Eigenschaften, die über xJCL übergeben werden
*/
public void initialize(Properties props);
/**
* Das ist normalerweise eine Abfrage für eine Aktualisierung, die verwendet
* wird, um Daten in die Datenbank zu schreiben
* @return
*/
public String getCallableStatementSQL();
/**
* Die übergeordnete Klasse BDSCallableStatementJDBCWriter erstellt eine neue aufrufbare
* Anweisung (CallableStatement) und übergibt sie an diese Methode. Diese Methode füllt
* die aufrufbare Anweisung mit entsprechenden Werten und gibt sie zur Ausführung an
* die übergeordnete Klasse zurück.
* @param pstmt
* @param record
* @return
*/
public CallableStatement writeRecord(CallableStatement pstmt, Object record);
}
JDBCCallableStatementWriter-xJCL-Beispiel
<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>