JPAReaderPattern

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

Unterstützungsklassen

Die Klasse "JPAReader" führt die Tasks aus, die zum Abrufen eines Entitätenmanagers, zum Ausführen der vom Benutzer bereitgestellten Abfragen und zum Iterieren über der Ergebnisse der Abfrage erforderlich sind. In das Paket mit der Benutzeranwendung muss die Datei persistence.xml aufgenommen werden.

Erforderliche Eigenschaften

Die folgenden Eigenschaften sind für das Muster erforderlich.

Tabelle 1. Erforderliche Eigenschaften. Die Tabelle enthält die Namen und Werte der erforderlichen Eigenschaften für das Muster.
Eigenschaftsname Wert
PATTERN_IMPL_CLASS Die Klasse, die die Musterschnittstelle "JPAReader" implementiert.
PERSISTENT_UNIT Der Name der persistenten OpenJPA-Einheit.

Optionale Eigenschaften

Die folgenden Eigenschaften sind für das Muster optional.

Tabelle 2. Optionale Eigenschaften. Die Tabelle enthält die Namen, die Werte und die Beschreibungen der optionalen Eigenschaften für das Muster.
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 den 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 Neustarttoken (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();
		
}

xJCL-Beispiel

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>  
<props>
<prop name="PERSISTENT_UNIT" value="hellojpa"/>
<prop name="debug" value="true"/>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.samples.JPAInputStream"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.JPAReader</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_btchpttrn9
Dateiname:rgrid_btchpttrn9.html