PureQueryReaderPattern
Dieses Muster wird verwendet, um Daten mit IBM® Optim pureQuery Runtime aus einer Datenbank zu lesen. Das BDS-Framework (Batch Data Stream, Stapeldatenstrom) führt die Verwaltungstasks für das Öffnen und das Schließen von Verbindungen aus.
Unterstützungsklassen
Die PureQueryReader-Klasse implementiert die Basisoperationen für das Öffnen und Schließen von Datenbankverbindungen und das Abrufen der Daten von IBM Optim pureQuery Runtime.
Erforderliche Eigenschaften
Die folgenden Eigenschaften sind für das Muster erforderlich.
Eigenschaftsname | Wert |
---|---|
PATTERN_IMPL_CLASS | Klasse, die die Schnittstelle "PureQueryReaderPattern" implementiert |
PQ_DATA_BEAN_INTERFACE | PureQuery-Schnittstelle für Data-Beans |
ds_jndi_name | JNDI-Namen (Java™ Naming and Directory Interface) der Datenquelle für den Zugriff auf die Datenbank |
Optionale Eigenschaften
Die folgenden Eigenschaften sind für das Muster optional.
Eigenschaftsname | Wert | Beschreibung |
---|---|---|
debug | true oder false (die Standardeinstellung ist "false") | Aktiviert detailliertes Tracing in diesem Stapeldatenstrom. |
DB_SCHEMA | null | Name des Datenbankschemas |
EnablePerformanceMeasurement | true oder false (die Standardeinstellung ist "false") | Berechnet die Gesamtzeit in den Stapeldatenströmen und in der Methode processRecord bei Verwendung des GenericXDBatchStep. |
Schnittstellendefinition
Die Schnittstellendefinition PureQueryReaderPattern zeigt die Methoden, die zur Unterstützung der Schnittstelle PureQueryReaderPattern implementiert werden müssen.
public interface PureQueryReaderPattern
{
/**
* Diese Methode wird vom Stapelcontainer während der Abschnittskonfiguration aufgerufen. Die
* übergebenen Eigenschaften sind die Eigenschaften, die Sie in den xJCL-BDS-Eignenschaften angeben.
* @param Eigenschaften
*/
public void initialize(Properties properties);
/**
* Wird vom Container in jeder Iteration der Stapelschleife aufgerufen. Dieser Code
* ruft den nächsten Datensatz mit dem angegebenen Iteratorobjekt ab.
* @param Iterator
* @return
*/
public Object fetchRecord(Iterator iterator);
/**
* Gibt den Iterator basierend auf dem übergebenen Datenobjekt zurück, das für die Iteration
* durch die Datensätze verwendet wird.
* @param Daten
* @return
*/
public Iterator getInitialIterator(Data data);
/**
* Gibt den Iterator basierend auf dem übergebenen Datenobjekt zurück,
* das basierend auf dem restartToken neu positioniert wird.
* @param Daten
* @param s
* @return
*/
public Iterator getRestartIterator(Data data, String restartToken);
/**
* Wird vor dem Setzen eines Prüfpunkts aufgerufen, um das Neustarttoken zu speichern, das
* im Fall eines Neustarts verwendet wird
* @return
*/
public String getRestartTokens();
}
xJCL-Beispiel
Das Beispiel zeigt xJCL für die Definition eines Stapeldatenstroms, der die Schnittstelle PureQueryReaderPattern in Ihrer Anwendung implementiert.
<batch-data-streams>
<bds>
<logical-name>outputStream</logical-name>
<props>
<prop name="IMPLCLASS" value="com.ibm.MyWriterPattern"/>
<prop name="ds_jndi_name" value="jdbc/crreport"/>
<prop name="debug" value="true"/>
<prop name="DB_SCHEMA" value="PQDS"/>
<prop name="PQ_DATA_BEAN_INTERFACE" value="com.ibm.MyEmployeeData"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.PureQueryReader</impl-class>
</bds></batch-data-streams>