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


JPAReaderPattern

Dieses Muster wird verwendet, um über eine OpenJPA-Verbindung Daten aus einer Datenbank abzurufen.

Unterstützungsklassen

JPAREADERThe
  1. JPAReader: Gegenwärtig ist das JPA-Ausgabeprogramm nicht an der globalen Transaktion beteiligt. Es verwendet einen URL und einen Treibernamen einer JDBC-Verbindung, um mit einer Datenbank zu kommunizieren. Zukünftige Versionen werden verwaltete Transaktionen unterstützen, wenn das EJB-3.0-Feature-Pack installiert ist.

Erforderliche Eigenschaften

Tabelle 1. Erforderliche Eigenschaften
Eigenschaft Wert
PATTERN_IMPL_CLASS Die Klasse, die die Musterschnittstelle JPAReader implementiert.
openjpa.ConnectionDriverName Der JDBC-Treiber, z. B. org.apache.derby.jdbc.EmbeddedDriver.
openjpa.ConnectionURL Der JDBC-URL, z. B. jdbc:derby:C:\\mysample CREDITREPORT.
openjpa.jdbc.SynchronizeMappings Spezifische JPA-Eigenschaft, z. B. buildSchema.
openjpa.ConnectionUserName Die Benutzer-ID für die Datenbank, z. B. Myid.
openjpa.ConnectionPassword Benutzerkennwort, z. B. mypwd.
PERSISTENT_UNIT Der Name der persistenten OpenJPA-Einheit.

Optionale Eigenschaften

Tabelle 2. Optionale Eigenschaften
Eigenschaftsname Wert Beschreibung

debug

true oder false (der Standardwert ist false)

Aktiviert detailliertes Tracing in diesem Stapeldatenstrom.

openjpa.Log

DefaultLevel=WARN,SQL=TRACE

Einstellungen des JPA-Protokolls

EnablePerformanceMeasurement

true oder false (der Standardwert ist false)

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

EnableDetailedPerformanceMeasurement

true oder false (der Standardwert ist false)

Bietet eine detailliertere Aufgliederung der Zeit pro Methode des Stapeldatenstroms.

Schnittstellendefinition

public interface JPAReaderPattern {

	/**
	 * 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 Iterator-Objekt abrufen.
	 * Normalerweise werden diese Daten in ein temporäres, zurückzugebendes Objekt gestellt.
	 * @param listIt
	 * @return
	 */
	public Object fetchRecord(Iterator listIt);
	
	/**
	 * Diese Methode sollte eine JPQL-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 JPQL-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="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>



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


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/rbtchpttrn9.html