Dieses Muster wird verwendet, um über eine OpenJPA-Verbindung Daten aus einer Datenbank abzurufen.
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. |
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. |
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(); }
<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>