WebSphere Extended Deployment Compute Grid, Version 6.1.1
             Betriebssysteme: AIX, HP-UX, Linux, Solaris, Windows,


JDBCReaderPattern

Dieses Muster wird verwendet, um über eine JDBC-Verbindung (Java Database Connectivity) Daten aus einer Datenbank abzurufen.

Unterstützungsklassen

  1. CursorHoldableJDBCReader
    Diese Klasse wird referenziert, wenn das Verwendungsmuster Ihres JDBC-Eingabedatenstroms zu Beginn des Abschnitts eine Ergebnismenge abruft und dann während der gesamten Logik für Abschnittsverarbeitung iteriert wird. Der CursorHoldableJDBCReader verwendet eine Stateful-Session-Bean mit einer Nicht-XA-Datenquelle und einem Cursor mit Klausel WITH HOLD. Der CursorHoldableJDBCReader ist ein Muster, das so implementiert wird, dass der Cursor beim Festschreiben der Transaktion nicht verloren geht. Daher müssen Ergebnismengen nicht nach jedem Prüfpunkt erneut gefüllt werden, was die Leistung verbessert. Zur Verwendung von CursorHoldableJDBCReader müssen Sie CursorHoldableSessionBean in Ihre Anwendung packen. Fügen Sie zum Erstellen des Pakets die Eigenschaft nonxadsjndiname=JNDI-Name_einer_Nicht-XA-Datenquelle_für_Datenbank zu der Eigenschaftendatei hinzu, die vom BatchPackager verwendet wird. Beispiel: nonxadsjndiname=jdbc/nonxads. Wenn Sie mehrere Nicht-XA-Datenquellen hinzufügen möchten, geben Sie Folgendes ein: nonxadsjndiname=<JNDI-Name 1>;<JNDI-Name 2>...
    Einschränkung: Gegenwärtig ist der Name der Ressourcenreferenz der JDBC-Datenquelle mit dem JNDI-Namen (Java Naming and Directory Interface) identisch.
  2. JDBCReader

    Diese Klasse wird referenziert, wenn das Verwendungsmuster Ihres JDBC-Eingabedatenstroms eine einzelne Ergebnismenge aus einer Abfrage abruft, die nach jeder Iteration des Schritts verwendet und gelöscht wird.

  3. LocalJDBCReader

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

Erforderliche Eigenschaften

Tabelle 1. Erforderliche Eigenschaften
Eigenschaft Wert LocalJDBCReader CursorHoldableJDBCReader JDBCReader
PATTERN_IMPL_CLASS Klasse, die die Schnittstelle JDBCReaderPattern implementiert

Zutreffend

Zutreffend

Zutreffend

ds_jndi_name JNDI-Name der Datenquelle.

Zutreffend

Nicht zutreffend

Zutreffend

jdbc_url Der JDBC-URL, z. B. jdbc:derby:C:\\mysample\\CREDITREPORT.

Zutreffend

Nicht zutreffend

Nicht zutreffend

jdbc_driver Der JDBC-Treiber, z. B. org.apache.derby.jdbc.EmbeddedDriver.

Zutreffend

Nicht zutreffend

Nicht zutreffend

userid Die Benutzer-ID für die Datenbank, z. B. Myid.

Zutreffend

Nicht zutreffend

Nicht zutreffend

pswd Benutzerkennwort, z. B. mypwd. Nur LocalJDBCReader.

Zutreffend

Nicht zutreffend

Nicht zutreffend

Optionale Eigenschaften

Tabelle 2. Optionale Eigenschaften
Eigenschaftsname Wert Beschreibung LocalJDBCReader CursorHoldableJDCReader JDBCReader

debug

true oder false (der Standardwert ist false)

Aktiviert detailliertes Tracing in diesem Stapeldatenstrom.

Zutreffend

Zutreffend

Zutreffend

EnablePerformanceMeasurement

true oder false (der Standardwert ist false)

Berechnet die Gesamtzeit in Stapeldatenströmen und in der Methode processRecord bei Verwendung des GenericXDBatchStep.

Zutreffend

Zutreffend

Zutreffend

EnableDetailedPerformanceMeasurement

true oder false (der Standardwert ist false)

Bietet eine detailliertere Aufgliederung der Zeit pro Methode des Stapeldatenstroms.

Zutreffend

Zutreffend

Zutreffend

Schnittstellendefinition

public interface JDBCReaderPattern {

	/**
	 * 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 sollte eine SQL-Abfrage zurückgeben, die bei der Konfiguration
  * des Datenstroms zum Abrufen aller relevanten, im Rahmen der Jobabschnitte
  * zu verarbeitenden Daten verwendet werden.
	 * @return - Objekt, das während des Verarbeitungsschritts verwendet werden soll.
	 */
	public String getInitialLookupQuery();
	
	/**
	 * Diese Methode wird beim Jobneustart aufgerufen. Das Neustart-Token (restartToken)
  * muss verwendet werden, um eine SQL-Abfrage zum Abrufen zuvor nicht verarbeiteter
  * Datensätze zu erstellen. 
	 * 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 String getRestartQuery(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();
		
}

Beispiel für xJCL

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="ds_jndi_name" value="jdbc/fvtdb"/>
<prop name="debug" value="true"/>
<prop name="DEFAULT_APPLICATION_NAME" value="XDCGIVT"/> <!-- versions prior to 6103 only -->
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.CursorHoldableJDBCReader</impl-class>
</bds>
</batch-data-streams>

Beispiel für xJCL

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="jdbc_url" value="jdbc:derby:C:\\mysample\\CREDITREPORT"/>
<prop name="jdbc_driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<prop name="user_id" value="myuserid"/>
<prop name="pswd" value="mypswd"/>
<prop name="debug" value="true"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.LocalJDBCReader</impl-class>
</bds>
</batch-data-streams>



Zugehörige Konzepte
Framework und Muster für Stapeldatenströme
Zugehörige Informationen
JDBCWriterPattern
ByteWriterPattern
FileReaderPattern
FileWriterPattern
RecordOrientedDatasetReaderPattern
JPAReaderPattern
JPAWriterPattern
Referenzartikel    

Nutzungsbedingungen | Feedback

Letzte Aktualisierung: 24.09.2009 16.46 Uhr EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/rbtchpttrnjd.html