Accès aux données à l'aide des connecteurs JCA (Java EE Connector Architecture)
Pour accéder à des données à partir d'une application compatible JCA (Java™ EE Connector Architecture) dans WebSphere Application Server, vous devez configurer et utiliser des adaptateurs de ressources et des fabriques de connexions.
Pourquoi et quand exécuter cette tâche
Un composant d'application utilise une fabrique de connexions pour accéder à une instance de connexion qu'il utilise ensuite pour se connecter au système d'information d'entreprise (EIS) sous-jacent. Les connexions aux bases de données, les connexions JMS (Java Message Service) et les connexions SAP R/3 sont des exemples de connexions.
Comme le précise la spécification JCA (Java EE Connector Architecture), chaque système d'information d'entreprise (EIS) a besoin d'un adaptateur de ressources et d'une fabrique de connexions. L'accès à cette fabrique de connexions s'effectue alors au moyen du modèle de programmation suivant. Si vous utilisez les outils de Rational Application Developer, la plus grande partie du code et des descripteurs de déploiement suivants est générée pour vous. Cet exemple montre comment coder manuellement l'accès à une ressource EIS.
Procédure
Exemple
Le segment de code suivant montre comment un composant d'application peut créer une interaction et l'implémenter sur le système d'information d'entreprise :
javax.resource.cci.ConnectionFactory connectionFactory = null;
javax.resource.cci.Connection connection = null;
javax.resource.cci.Interaction interaction = null;
javax.resource.cci.InteractionSpec interactionSpec = null;
javax.resource.cci.Record inRec = null;
javax.resource.cci.Record outRec = null;
try {
// Localiser le composant d'application et effectuer une recherche JNDI
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
connectionFactory = (javax.resource.cci.ConnectionFactory)
ctx.lookup("java:comp/env/eis/myConnection");
// créer une connexion
connection = connectionFactory.getConnection();
// Créer un objet Interaction et un objet InteractionSpec
interaction = connection.createInteraction();
interactionSpec = new InteractionSpec();
interactionSpec.setFunctionName("GET");
// Créer un enregistrement d'entrée
inRec = new javax.resource.cci.Record();
// Exécuter une interaction
interaction.execute(interactionSpec, inRec, outRec);
// Traiter le résultat...
} catch (Exception e) {
// Traitement de l'exception
}
finally {
if (interaction != null) {
try {
interaction.close();
}
catch (Exception e) {/* ignorer l'exception*/}
}
if (connection != null) {
try {
connection.close();
}
catch (Exception e) {/* ignorer l'exception*/}
}
}