JDBCReaderPattern

Ce masque est utilisé pour extraire des données d'une base de données à l'aide d'une connexion JDBC (Java™ Database Connectivity).

Classes prises en charge

  1. CursorHoldableJDBCReader
    Cette classe est référencée lorsque le masque d'utilisation de votre flux en entrée JDBC extrait un ensemble de résultats au début de l'étape puis procède à une itération sur ces résultats via la logique de traitement par étape. CursorHoldableJDBCReader utilise une source de données non XA de bean session avec état avec un curseur pouvant être mis en attente. Un curseur JDBCReader pouvant être mis en attente est un masque implémenté de telle sorte que le curseur ne soit pas perdu lorsque la transaction est validée. ResultSets n'a donc pas à être renseigné à nouveau après chaque point de contrôle, ce qui améliore la performance. Pour utiliser CursorHoldableJDBCReader, placez CursorHoldableSessionBean dans votre application. Pour créer le package, ajoutez la propriété nonxadsjndiname=jndi_name_of_a_non-XA_data_source_to_database au fichier de propriétés utilisé par BatchPackager. Par exemple, nonxadsjndiname=jdbc/nonxads. Si vous souhaitez ajouter plusieurs sources de données non XA, entrez : nonxadsjndiname=<jndi name1>;<jndi name2>...
    Restriction : Actuellement, le nom de référence de ressource de la source de données JDBC est identique au nom JNDI (Java Naming and Directory Interface).
  2. JDBCReader

    Cette classe est référencée lorsque le masque d'utilisation de votre flux en entrée JDBC extrait un seul résultat d'une requête, qui est utilisé et ignoré après chaque itération de l'étape.

  3. LocalJDBCReader

    Cette classe est référencée lorsque des données sont lues à partir d'une base de données locale.

Propriétés requises

Les propriétés suivantes sont requises pour le masque.
Tableau 1. Propriétés requises. Le tableau inclut chaque propriété requise, la valeur de celle-ci, et indique si les classes LocalJDBCReader, CursorHoldableJDBCReader ou JDBCReader sont applicables.
Propriété valeur LocalJDBCReader CursorHoldableJDBCReader JDBCReader
PATTERN_IMPL_CLASS Classe implémentant l'interface JDBCReaderPattern Applicable Applicable Applicable
ds_jndi_name Nom JNDI de la source de données Applicable Non applicable Applicable
jdbc_url Adresse URL JDBC. Par exemple, jdbc:derby:C:\\mysample\\CREDITREPORT. Applicable Non applicable Non applicable
jdbc_driver Pilote JDBC. Par exemple, org.apache.derby.jdbc.EmbeddedDriver Applicable Non applicable Non applicable
userid ID utilisateur de la base de données. Par exemple, Myid Applicable Non applicable Non applicable
pswd Mot de passe utilisateur. Par exemple, mypwd. LocalJDBCReader uniquement. Applicable Non applicable Non applicable

Propriétés facultatives

Les propriétés suivantes sont optionnelles pour le masque.
Tableau 2. Propriétés facultatives. Le tableau inclut chaque propriété facultative, la valeur et la description de celle-ci, et indique si les classes LocalJDBCReader, CursorHoldableJDBCReader ou JDBCReader sont applicables.
Nom de la propriété valeur Description LocalJDBCReader CursorHoldableJDCReader JDBCReader
CursorHoldabilityEnabled true ou false (la valeur par défaut est false) Active la mise en suspens du curseur pour ce lecteur BDS Applicable Applicable Applicable
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. Applicable Applicable Applicable
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. Applicable Applicable Applicable
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. Applicable Applicable Applicable

Définition de l'interface

public interface JDBCReaderPattern {

	/**
	 * 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 resultset
   * object. Typically this data would be used to populate an intermediate object which would be returned
	 * @param resultSet
	 * @return
	 */
	public Object fetchRecord(ResultSet resultSet);
	
	/**
	 * This method should return a SQL 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 an SQL query
   * that will retrieve previously unprocessed records. Typically the restart token would be 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 CursorHoldableJDBCReader xJCL

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="ds_jndi_name" value="jdbc/fvtdb"/>
<prop name="debug" value="true"/>
<prop name="DEFAULT_APPLICATION_NAME" value="XDCGIVT"/> 
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.CursorHoldableJDBCReader</impl-class>
</bds>
</batch-data-streams>

Exemple LocalJDBCReader xJCL

<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="jdbc_url" value="jdbc:derby:C:\\mysample\\CREDITREPORT"/>
<prop name="jdbc_driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<prop name="user_id" value="myuserid"/>
<prop name="pswd" value="mypswd"/>
<prop name="debug" value="true"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.LocalJDBCReader</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_btchpttrnjd
Nom du fichier : rgrid_btchpttrnjd.html