JPAReaderPattern

Le masque JPAReaderPattern est utilisé pour extraire des données d'une base de données à l'aide de OpenJPA.

Classes prises en charge

La classe JPAReader exécute les tâches d'obtention d'un gestionnaire d'entité, d'exécution de requêtes fournies par l'utilisateur et d'itération sur les résultats de ces requêtes. Un fichier persistence.xml doit être empaqueté avec les modules de l'application utilisateur.

Propriétés requises

Les propriétés suivantes sont requises pour le masque.

Tableau 1. Propriétés requises. Ce tableau contient le nom et la valeur de chaque propriété requise pour le masque.
Nom de la propriété valeur
PATTERN_IMPL_CLASS Classe implémentant l'interface du masque JPAReader
PERSISTENT_UNIT Nom d'unité OpenJPA permanente.

Propriétés facultatives

Les propriétés suivantes sont optionnelles pour le masque.

Tableau 2. Propriétés facultatives. Ce tableau contient le nom, la valeur et la description de chaque propriété facultative 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.
openjpa.Log DefaultLevel=WARN,SQL=TRACE Paramètres du journal JPA
EnablePerformanceMeasurement true ou false (la valeur par défaut est false) Calcule le temps écoulé dans les flux de données par lots et la méthode processRecord, si vous utilisez GenericXDBatchStep.
EnableDetailedPerformanceMeasurement true ou false (la valeur par défaut est false) Fournit un arrêt plus détaillé du temps écoulé dans chaque méthode des flux de données par lots.

Définition de l'interface

public interface JPAReaderPattern {

	/**
	 * This method is invoked during the job setup phase. 
	 * 
	 * @param props properties provided in the xJCL 
	 */
	
	public void initialize(Properties props);
	
	/**
	 * This method should retrieve values for the various columns for the current row from
   * the given Iterator object. Typically this data would be used to populate an intermediate
   * object which would be returned.
	 * @param listIt
	 * @return
	 */
	public Object fetchRecord(Iterator listIt);
	
	/**
	 * This method should return a JPQL query that will be used during setup of the stream to
   * retrieve all relevant data that would be processed part of the job steps.
	 * @return object to be used during process step.
	 */
	public String getInitialLookupQuery();
	
	/**
	 * This method gets called during Job Restart. The restart token should be used to create
   * a JPQL query that retrieves previously unprocessed records. Typically the restart token
   * is the primary key in the table and the query would get all rows with 
	 * primary key value > restarttoken
	 * @param restartToken
	 * @return The restart query
	 */
	public String getRestartQuery(String restartToken);
	
	/**
	 * This method gets called just before a checkpoint is taken.
	 * @return The method should return a string value identifying the last record read by the stream.
	 */
	public  String getRestartTokens();
		
}

Exemple xJCL

<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>

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rgrid_btchpttrn9
Nom du fichier : rgrid_btchpttrn9.html