JDBCCallableStatementReaderPattern

Dieses Muster wird verwendet, um die Geschäftslogik für die Verarbeitung von Daten aus 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

  1. JDBCCallableStatementReader

    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 JDBCReader, dass sie eine aufrufbare Anweisung anstelle einer vorbereiteten Anweisung verwendet.

  2. LocalJDBCCallableStatementReader

    Diese Klasse wird referenziert, wenn Daten aus einer lokalen Datenbank gelesen werden.

Erforderliche Eigenschaften

Die folgenden Eigenschaften sind für das Muster erforderlich.
Tabelle 1. Erforderliche Eigenschaften. Die Tabelle enthält alle erforderlichen Eigenschaften, deren Werte und Angaben dazu, ob die Klasse "JDBCCallableStatementReader" oder die Klasse "LocalJDBCCallableStatementReader" zutreffend ist.
Eigenschaft Wert JDBCCallableStatementReader LocalJDBCCallableStatementReader
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.
Tabelle 2. Optionale Eigenschaften. Die Tabelle enthält alle optionalen Eigenschaften, deren Werte und Beschreibungen und Angaben dazu, ob die Klasse "JDBCCallableStatementReader" oder die Klasse "LocalJDBCCallableStatementReader" zutreffend ist.
Eigenschaftsname Wert Beschreibung JDBCCallableStatementReader LocalJDBCCallableStatementReader
CursorHoldabilityEnabled true oder false (der Standardwert ist false) Aktiviert die Cursoroffenhaltung für diesen BDS-Reader. Zutreffend Zutreffend
debug true oder false. Der Standardwert ist false. Aktiviert detailliertes Tracing in diesem Stapeldatenstrom. 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 JDBCCallableStatementReaderPattern {

		 /**
		  	 * Diese Methode wird während der Konfiguration des Jobs aufgerufen.
		  * 
		  	 * @param props - Eigenschaften, die über xJCL übergeben werden
		  */
		 
		 public void initialize(Properties props);
		 
		 /**
	 	 * Diese Methode muss Werte für die verschiedenen Spalten der aktuellen Zeile aus dem
  * entsprechenden resultset-Objekt abrufen. Normalerweise werden diese Daten in ein
  * temporäres, zurückzugebendes Objekt gestellt.
	 	 * @param resultSet
	 * @return 
	 */
		 	public Object fetchRecord(ResultSet resultSet);
		 
		 /**
	 	 * Diese Methode muss ein ResultSet-Objekt zurückgeben, das vom Datenstrom verwendet wird, um alle
	 * relevanten Daten abzurufen, die im Rahmen der Jobabschnitte verarbeitet werden.
	 */
		public ResultSet getResultSet(CallableStatement cstmt) throws SQLException ;

	/**
	 	 * Diese Methode muss eine aufrufbare Anweisung (CallableStatement) zurückgeben, die während des
	 * Einrichtens des Datenstroms verwendet wird, um alle relevanten Daten abzurufen, die im Rahmen
  * der Jobabschnitte verarbeitet werden.
	 	 * @return - Objekt, das während des Verarbeitungsschritts verwendet werden soll.
	 */
		public CallableStatement getInitialCallableStatement(Connection con);
	
	/**
	 	 * Diese Methode wird beim Jobneustart aufgerufen. Das Neustarttoken muss verwendet werden,
	 * um eine aufrufbare Anweisung (CallableStatement) zu erstellen, die zuvor nicht
  * verarbeitete Datensätze abruft.
	 	 * Normalerweise ist das restartToken der Primärschlüssel in der Tabelle, und
  * die Abfrage ruft alle Zeilen mit Primärschlüsselwert > restartToken ab.
	 	 * @param - restartToken
	 	 * @return - Abfrage bei Neustart
	 */
		public CallableStatement getRestartCallableStatement(Connection con,String restartToken);
	
	/**
	 	 * Diese Methode wird aufgerufen, bevor ein Prüfpunkt abgerufen wird.
	 	 * @return - Die Methode muss einen Zeichenfolgewert zurückgeben, der
  * den letzten vom Datenstrom gelesenen Datensatz angibt.
	 */
	public  String getRestartTokens();
		 		 
}

JDBCCallableStatementReader-xJCL-Beispiel

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="IMPLCLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="ds_jndi_name" value="jdbc/echojndi"/>
<prop name="debug" value="false"/>
<prop name="EnablePerformanceMeasurement" value="true"/> 
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.JDBCCallableStatementReader</impl-class>
</bds>
</batch-data-streams>

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rgrid_btchpttrnjdcsread
Dateiname:rgrid_btchpttrnjdcsread.html