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.
Ingénieur en informatique avec plus de 20 ans d’expérience dans la gestion et l’utilisation de données, Benoit CAYLA a mis son expertise au profit de projets très variés tels que l’intégration, la gouvernance, l’analyse, l’IA, la mise en place de MDM ou de solution PIM pour le compte de diverses entreprises spécialisées dans la donnée (dont IBM, Informatica et Tableau). Ces riches expériences l’ont naturellement conduit à intervenir dans des projets de plus grande envergure autour de la gestion et de la valorisation des données, et ce principalement dans des secteurs d’activités tels que l’industrie, la grande distribution, l’assurance et la finance. Également, passionné d’IA (Machine Learning, NLP et Deep Learning), l’auteur a rejoint Blue Prism en 2019 et travaille aujourd’hui en tant qu’expert data/IA et processus. Son sens pédagogique ainsi que son expertise l’ont aussi amené à animer un blog en français (datacorner.fr) ayant pour but de montrer comment comprendre, analyser et utiliser ses données le plus simplement possible.