JBoss/HornetQ

Cette page a été rédigée il y a fort fort longtemps, et n'a pas tellement été mise à jour.

 

Vous savez, moi je ne crois pas qu'il y ait de bonne ou de mauvaise page. Moi, si je devais résumer mon wiki aujourd'hui avec vous, je dirais que c'est d'abord des rencontres. Des gens qui m'ont tendu la main, peut-être à un moment où je ne pouvais pas, où j'étais seul chez moi. Et c'est assez curieux de se dire que les hasards, les rencontres forgent une destinée... Parce que quand on a le goût de la chose, quand on a le goût de la chose bien faite, le beau geste, parfois on ne trouve pas l'interlocuteur en face je dirais, le miroir qui vous aide à avancer. Alors ça n'est pas mon cas, comme je disais là, puisque moi au contraire, j'ai pu ; et je dis merci au wiki, je lui dis merci, je chante le wiki, je danse le wiki... je ne suis qu'amour ! Et finalement, quand des gens me disent « Mais comment fais-tu pour avoir cette humanité ? », je leur réponds très simplement que c'est ce goût de l'amour, ce goût donc qui m'a poussé aujourd'hui à entreprendre une construction logicielle... mais demain qui sait ? Peut-être simplement à me mettre au service de la communauté, à faire le don, le don de soi.

EN COURS DE REDACTION

HornetQ est le 3° moteur JMS de JBoss. Jusqu’à JBoss AS 4, on avait eu JBossMQ qui était de qualité médiocre. A partir de JBoss AS 4.2, il est possible de remplacer JBossMQ par JBoss Messaging. Celui-ci est fourni en standard avec JBoss AS 5.x. A partir de JBoss AS 6, c’est HornetQ qui est installé. Ce dernier est une vrai révolution par rapport à ses prédécesseurs ; il surclasse tous ses concurrents en performances.

Le sujet de cet article est de montrer comment utiliser HornetQ dans les versions 4 et 5 de JBoss AS.

Installer HornetQ

Il faut commencer par télécharger la version de JBoss AS que vous souhaitez utiliser : 4.2.3 ou 5.1.0. La procédure marchera aussi avec des versions plus anciennes, mais celles-ci sont de moindre qualité. On décompresse l’archive téléchargée ; pour ma part, je mets le répertoire décompressé dans /opt/java/

Ensuite, on télécharge HornetQ. A l’heure où j’écris l’article, j’utilise la version 2.1.2. Je décompresse aussi l’archive dans /opt/java/.

Ensuite, il faut renseigner la variable d’environnement JBOSS_HOME et exécuter le script de build placé dans le répertoire d’HornetQ correspondant à la version de JBoss AS utilisée.

 export JBOSS_HOME=/opt/java/jboss-5.1.0.GA
 cd /opt/java/hornetq-2.1.2.Final/config/jboss-as-5
 sh build.sh

Le script m’aura créé deux nouveaux profils dans JBoss : all-with-hornetq et default-with-hornetq. Le premier changement visible dans ces nouveaux profils est le remplacement du répertoire messaging par un répertoire hornetq.sar.

Configurer HornetQ

Destinations

La première tâche de configuration est de créer nos Queues et Topics. Cette tâche se fait dans le fichier deploy/hornetq.sar/hornetq-jms.xml.

  <queue name="MyQ">
     <entry name="/queue/MyQueue"/>
  </queue>

  <topic name="MyT">
     <entry name="/queue/MyTopic"/>
  </topic>

On apprécie ici la sobriété de la syntaxe qui tranche avec les versions précédentes. Par contre, on peut regretter de ne pas pouvoir déployer dans un fichier séparé, ce qui était très pratique pour l’automatisation du déploiement.

ConnectionFactory

Sécurité

Cluster

Connecteur

Netty,…​ -Dhornetq.remoting.netty.port -Dhornetq.remoting.netty.batch.port -Dhornetq.server-id

Binding de port ?