PureQueryReaderPattern
Ce masque est utilisé pour lire des données d'une base de données à l'aide d'IBM® Optim pureQuery Runtime. L'infrastructure BDS (Batch Data Stream) gère les tâches d'administration d'ouverture et de fermeture de connexions.
Classes prises en charge
La classe PureQueryReader implémente les principales opérations d'ouverture et de fermeture de connexions de base de données et d'obtention des données IBM Optim pureQuery Runtime.
Propriétés requises
Les propriétés suivantes sont requises pour le masque.
Nom de la propriété | valeur |
---|---|
PATTERN_IMPL_CLASS | Classe implémentant l'interface PureQueryReaderPattern |
PQ_DATA_BEAN_INTERFACE | Interface de bean de données PureQuery |
ds_jndi_name | Nom JNDI (Java™ Naming and Directory Interface) de la source de données pour l'accès à la base de données |
Propriétés facultatives
Les propriétés suivantes sont optionnelles pour le masque.
Nom de la propriété | valeur | Description |
---|---|---|
debug | true ou false (la valeur par défaut est false.) | Active le traçage détaillé sur ce flux de données par lots. |
DB_SCHEMA | null | Nom de schéma de base de données |
EnablePerformanceMeasurement | true ou false (la valeur par défaut est false.) | Calcule le temps total écoulé dans les flux de données par lots et la méthode processRecord, si vous utilisez GenericXDBatchStep. |
Définition de l'interface
La définition de l'interface PureQueryReaderPattern montre les méthodes que vous devez implémenter pour prendre en charge cette interface.
public interface PureQueryReaderPattern
{
/**
* This method is called by the batch container during step setup. The properties passed
* in are the ones that you provide in the xJCL BDS level properties.
* @param properties
*/
public void initialize(Properties properties);
/**
* Invoked by the container during each iteration of the batch loop. This code obtains
* the next record using the given iterator object.
* @param iterator
* @return
*/
public Object fetchRecord(Iterator iterator);
/**
* Returns the iterator based on the passed data object that is used to iterate
* over the records
* @param data
* @return
*/
public Iterator getInitialIterator(Data data);
/**
* Returns the iterator based on the passed data object repositioned based on the restart
* token of restartToken.
* @param data
* @param s
* @return
*/
public Iterator getRestartIterator(Data data, String restartToken);
/**
* Invoked before a checkpoint is taken to save the restart token that is used in case
* of a restart
* @return
*/
public String getRestartTokens();
}
Exemple xJCL
Cet exemple montre le code xJCL que vous pouvez utiliser pour définir un flux de données par lots qui implémente l'interface PureQueryReaderPattern dans votre application.
<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>