Littlewing : Configurer weblogic pour se connecter à une queue TIBCO EMS
mercredi 28 septembre 2016 à 12:18Cet article sera un peu moins rock & roll mais pourra peut-être être utile pour certains.
Je souhaite dans le contexte d’une application JEE hébergée sur weblogic consommer les messages d’une queue JMS hebergée sur TIBCO EMS.
Pre-requis
- Il faut que la queue présente dans TIBCO EMS soit statique et non dynamique
- Il faut que la queue EMS ait un nom JMDI
- Il faut que les droits soient positionnés dans EMS
Dépendances
Il faut installer les JARS suivants dans le répertoire lib du domaine weblogic
- jms.jar
- jms-2.0.jar
- tibcrypt.jar
- tibemsd_sec.jar
- tibjms.jar
- tibjmsadmin.jar
- tibjmsapps.jar
- tibjmsufo.jar
- tibrvjms.jar
Configuration weblogic
Il faut réaliser les actions suivantes :
Créer le module JMS et l’assigner sur le serveur managé
Dans ce module JMS, créer une queue distante et renseigner les informations suivantes :
Maintenant renseigner les informations suivantes :
- Fabrique de contextes initiale JNDI:
com.tibco.tibjms.naming.TibjmsInitialContextFactory
- URL de connexion JNDI : Elle est au format
tibjmsnaming://MONSERVEUR:7222
- Identification : le mot de passe de l’utilisateur
- Propriété JNDI : le login de l’utilisateur avec la clé
java.naming.security.principal
- Activer le ciblage par défaut
Ensuite, il faut spécifier la destination en indiquant le nom JNDI local et le nom JNDI spécifié sur EMS.
Enfin, il faut spécifier la fabrique de connexion.
sélectionner l’onglet « Fabrique de connexion » et cliquer sur « Nouveau »
Renseigner les informations suivantes :
- Nom JNDI local : nom JNDI nécessaire au bean MDB pour envoyer les messages
- Nom JNDI distant : nom JNDI configuré sur EMS
- Identifiant / Mot de passe : les mêmes que précédemment
Au final vous devriez avoir ce fichier de configuration généré
true jms.Queue queue.sample jms.TibcoConnectionFactory QueueConnectionFactory weblogic {AES} com.tibco.tibjms.naming.TibjmsInitialContextFactory tibjmsnaming://MONSERVEUR:7222 {AES}/= java.naming.security.principal weblogic
Consommation des messages via un EJB MDB
/** * */ @MessageDriven(mappedName = "jms.Queue", activationConfig = { @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"), @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), @ActivationConfigProperty(propertyName = "connectionFactoryJndiName", propertyValue = "jms.TibcoConnectionFactory") }) public class SampleMDBean implements MessageListener { @Override @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public void onMessage(Message message) { // traitement } }
Original post of Littlewing.Votez pour ce billet sur Planet Libre.
Articles similaires
- Littlewing : Installer et configurer Glassfish en mode cluster - 4ème partie (24/12/2008)
- Littlewing : Installer et configurer Glassfish en mode cluster - 3ème partie (16/12/2008)
- Littlewing : Choix d'un ESB (14/06/2011)
- Littlewing : Premiers pas avec Apache Camel (15/09/2011)
- Littlewing : Faire un Service Web "MOCK" avec WSO2 (24/10/2011)