Utiliser des liaisons WebSphere pour définir les noms JNDI des beans gérés par message

Le descripteur de bean géré par message (MDB) configure la destination du programme d'écoute des messages. Une référence de destination de message est un nom logique utilisé pour localiser un bean enterprise dans un module EJB qui agit comme une destination de message. Les références de destination de message existent uniquement dans les artefacts J2EE version 1.4 et suivantes, comme par exemple :

Si plusieurs références de destination de message sont associées à un lien de destination de message unique, au cours du déploiement, il n'est collecté qu'un seul nom JNDI pour un bean enterprise mappé au lien de destination de message et à toutes les références de destination de message liées. Pendant la phase d'exécution, les références de destination de message sont liées aux destinations de message administrées dans l'environnement fonctionnel cible. Si une référence de destination de message et un bean géré par message sont liés par la même destination de message, le nom JNDI de la destination doit être le même à la fois pour la référence et pour le bean. Si les deux ont le même nom, seul le nom JNDI de la destination du bean géré par message est collecté et appliqué à la référence de destination de message correspondante. Si vous décidez de générer des liaisons par défaut lors de l'installation de l'application, l'assistant d'installation affecte des noms JNDI aux références de destination de message incomplètes suivantes :
Si une référence de destination de message comporte un < message-destination-link>, le nom JNDI est défini sur ejs/message-destination-linkName . Sinon, le nom JNDI est défini sur eis/message-destination-refName .

Cette règle détecte les noms JNDI de destination des beans gérés par message. Un correctif automatisé copiera le nom JNDI de destination du fichier weblogic-ejb-jar.xml vers le fichier de liaisons WebSphere(R ) Application Server. Le correctif automatisé, cependant, ne définira pas le nom JNDI de ActivationSpec et ne migrera pas les propriétés de configuration de l'activation dans le site ejb-jar.xml.

Solution manuelle pour Liberty


Solutions manuelles pour WebSphere Traditional

Le développeur de l'application peut créer des définitions de liaison dans des fichiers ibm-xxx-bnd.xml pour les modules EJB 3.0 et Web 2.5, et dans des fichiers ibm-xxx-bnd.xmi pour les modules antérieurs à Java EE version 5. Le développeur d'applications peut créer manuellement les fichiers nécessaires avec un utilitaire comme IBM(R) Rational(R) Application Developer ou, pour les modules EJB 3.0 ou Web 2.5 à l'aide d'un éditeur de texte ou d'un éditeur XML. Cela fait, le développeur peut fournir un fichier d'application d'entreprise (.ear) complet, avec des liaisons, pour l'assemblage ou le déploiement de l'application. Lors de l'assemblage de l'application, l'assembleur ne modifie pas les liaisons. De même, lorsque vous déployez l'application sur un serveur pris en charge par WebSphere Application Server, il n'y a pas lieu de modifier ou remplacer les liaisons, ou de générer des liaisons par défaut, sauf si ces modifications sont requises pour réussir le déploiement de l'application.

Pour effectuer les modifications nécessaires dans Rational Application Developer pour les beans EJB 2.1, procédez comme suit :
  1. Démarrez l'utilitaire d'assemblage Rational Application Developer.
  2. Ouvrez le projet EJB à modifier.
  3. Double-cliquez sur le descripteur de déploiement
  4. Cliquez sur le bean géré par message requis.
  5. Descendez jusqu'à la section des liaisons WebSphere.
  6. Cochez la case JCA Adaptor et entrez le nom JNDI ActivationSpec.


Pour effectuer les modifications nécessaires dans la console d'administration pour les beans EJB 2.0, procédez comme suit : Rational Application Developer version 7.0 ne permet pas de définir des spécifications d'activation EJB 2.1 pour les beans EJB 2.0. Vous pouvez définir des spécifications d'activation EJB 2.1 exclusivement pour les beans EJB 2.1.
  1. Définissez la spécification d'activation pour le bean géré par message avec la console d'administration lorsque vous déployez l'application sur WebSphere Application Server.
  2. Exportez le fichier EAR de l'application à partir de la console d'administration.
  3. Copiez le descripteur de déploiement à partir du fichier EAR vers le projet pour qu'il contienne la spécification d'activation appropriée.

Définissez les liaisons pendant l'assemblage de l'application.

Un assembleur d'applications peut définir des liaisons dans des descripteurs d'annotation ou de déploiement d'une application. Les modules Java EE 5 contiennent des annotations dans le code source. Pour déclarer une annotation, un assembleur d'application doit utiliser un mot clé précédé du caractère @. Pour les modules antérieurs à Java EE version 5, les liaisons sont définies dans la section des liaisons de WebSphere avec un éditeur de descripteur de déploiement. Modifier les descripteurs de déploiement change les définitions des liaisons dans les fichiers de liaison qui sont créés au cours du développement d'une application. Suite à la définition des liaisons, l'assembleur donne l'application à un déployeur. Lorsque vous déployez l'application sur un serveur pris en charge par WebSphere Application Server, il n'y a pas lieu de modifier ou remplacer les liaisons, ou de générer des liaisons par défaut, sauf si ces modifications sont requises pour réussir le déploiement de l'application.


Définissez les liaisons pendant l'installation de l'application.

La personne chargée de déployer l'application, ou l'administrateur du serveur, peut modifier les liaisons lors de l'installation de l'application sur un serveur WebSphere Application Server au moyen de la console d'administration. De nouvelles définitions de liaisons peuvent être spécifiées dans les pages de l'assistant d'installation.
Un déployeur ou administrateur peut choisir de générer des liaisons par défaut lors de l'installation de l'application. Dans ce cas, des liaisons sont définies dans l'application avec des valeurs par défaut. Les liaisons existantes ne seront pas modifiées.
Restriction : Vous ne pouvez pas définir ou remplacer des liaisons au cours de l'installation d'un client d'application. Vous devez définir des liaisons pour les modules de client d'application lors de l'assemblage et les stocker dans le fichier de liaison.


Définir des liaisons lors de la configuration de l'installation d'une application

Lorsqu'une application a été installée sur un serveur WebSphere Application Server, le déployeur de l'application ou l'administrateur du serveur peuvent modifier les liaisons en changeant les valeurs définies dans les pages de la console d'administration (par exemple dans la page des paramètres pour les applications d'entreprise).