Environnement technique : Infa MDM 9.7 installé sous JBOSS 6.1 EAP
Objectif
Configurer correctement une Queue JMS pour l’utiliser à travers les messages Triggers.
NB : l’installation ne configure pas une file JMS avec JBoss EAP pour l’utilisation de triggers (contrairement à WebLogic où tout semble fonctionner dès la fin de l’installation moyennant néanmoins la configuration manuelle dans la console : ConnectionFactory/Queue).
Coté JBoss EAP
Créer la Queue dans JBoss EAP 6.1
A priori la Queue créée lors de l’installation ne peut fonctionner avec le Hub (on ne peut l’affecter dans la console sans un message du type que cette Queue est déjà affectée par le système …). Il faut donc en créer une spécifique : /queue/siperian.sif.jms.test.queue
Pour cela :
- Editer le fichier standalone-full.xml dans [ROOT]\jboss-eap-6.1\standalone\configuration
- Ajouter les lignes suivantes :
<jms-queue name="queue/siperian.sif.jms.test.queue"> <entry name="queue/siperian.sif.jms.test.queue"/> <entry name="jboss/exported/queue/siperian.sif.jms.test.queue"/> </jms-queue>
Relancer le serveur JBoss EAP.
Vérifier dans la console JBoss sur http://win2k8:9990/console/ (en tant qu’admin/admin) :
- Dans la rubrique JMS Destination/Queues, vérifier que la nouvelle queue est bien créée :
Création d’un utilisateur (consommateur)
Il faut créer un utilisateur qui sera le consommateur de la queue JMS :
$JBOSS_HOME/bin/add-user.sh -s -a -u guest -p guest@123 -ro guest
Ou dans Windows
Cd %JBOSS_HOME%\bin add-user.bat -s -a -u guest -p guest@123 -ro guest
Cette commande créé l’utilisateur guest (password guest@12)
Configuration coté Hub
Création du Message server
Dans le menu Message Server (en tant qu’admin, sur master et après lock), ajouter un serveur de message comme suit :
Ce serveur va en fait être configuré via JNDI à travers JBoss. Il faut donc renseigner le nom JNDI de la ConnectionFactory (ou /ConnectionFactory):
Création de la Queue
Ajouter une Queue comme suit :
Renseigner comme suit :
Puis tester :
NB : Le test créé un message dans la queue JMS
En cas de problème
Regarder la console de log de JBoss (idéalement lancée en ligne de commande) ou alors faites un :
$ tail –f [Root]/infamdm/hub/server/logs/cmxserver.log
Configurer HermesJMS
- Créer le CLASSPATH/Providers comme suit dans hermesJMS (préférences) :
Seul un jar est nécessaire (celui qui est dans le répertoire bin/client de JBoss)
- Configurer ensuite une nouvelle session HermesJMS avec les paramètres suivants :
Type : HornetQ session
Class: hermes.JNDIConnectionFactory
Loader: JBoss EAP 6.1 (correspond à la configuration précédente)
Properties:
binding = jms/RemoteConnectionFactory
initialContextFactory = org.jboss.naming.remote.client.InitialContextFactory
providerURL = remote://localhost:4447
urlPkgPrefixes = org.jboss.naming.remote.client
Créez ensuite une queue (zone destination ci-dessous) comme suit,
(Il faut bien sur reprendre le nom de la queue JMS qui a été créée plus haut, soit queue/siperian.sif.jms.test.queue) :
Modifiez ensuite les propriétés de cette queue comme suit :
Ajoutez-y l’utilisateur (créé plus haut) guest et son mot de passe.
Le tour est joué vous pouvez maintenant observer les modifications qui sont effectuées dans le MDM en live.