17.6. Configuration

17.6.1. Configurer le Serveur JMS

Pour configurer le JMS Server d'HornetQ, modifier le fichier de configuration du serveur. La configuration du serveur se trouve dans le fichier EAP_HOME/domain/configuration/domain.xml des serveurs du domaine, ou dans le fichier EAP_HOME/standalone/configuration/standalone.xml des serveurs autonomes.
L'élément <subsystem xmlns="urn:jboss:domain:messaging:1.2"> contient toute la configuration JMS. Ajouter toute instance ConnectionFactory, Queue, ou Topic requise pour le JNDI.
  1. Activer le sous-système JMS de la plateforme d'applications JBoss Enterprise.

    Dans l'élément <extensions>, vérifier que la ligne suivante est bien présente et n'est pas dé-commentée :
    <extension module="org.jboss.as.messaging"/>
  2. Ajouter le sous-système JMS de base.

    Si le sous-système de Messagerie n'est pas présent dans votre fichier de configuration, ajoutez-le.
    1. Cherchez le <profile> qui correspond à celui que vous utilisez, et chercher sa balise de <subsystems>.
    2. Ajouter une nouvelle ligne sous la balise <subsystems>. Coller ceci à l'intérieur :
      <subsystem xmlns="urn:jboss:domain:messaging:1.2">
      
      </subsystem>
      
      Toutes les configurations supplémentaires pourront être ajoutées à la ligne vide ci-dessus.
  3. Ajouter la configuration de base à JMS.

    <journal-file-size>102400</journal-file-size>
    <journal-min-files>2</journal-min-files>
    <journal-type>NIO</journal-type>
    <!-- disable messaging persistence -->
    <persistence-enabled>false</persistence-enabled>
    
    Personnaliser les valeurs ci-dessus pour qu'elles correspondent à vos besoins.

    Avertissement

    La valeur de journal-file-size doit être plus élevée que celle de la taille du message envoyé au serveur, ou bien le serveur ne pourra pas stocker le message.
  4. Ajouter les instances de fabrique de connexion à HornetQ

    Le client utilise un objet ConnectionFactory JMS pour faire des connexions au serveur. Pour ajouter un objet de fabrique de connexion JMS à HornetQ, inclure une simple balise <jms-connection-factories> et un élément <connection-factory> pour chaque fabrique de connexion comme suit :
    <subsystem xmlns="urn:jboss:domain:messaging:1.2">
      ...
      <jms-connection-factories>
        <connection-factory name="myConnectionFactory">
          <connectors>
            <connector-ref connector-name="netty"/>
          </connectors>
          <entries>
            <entry name="/ConnectionFactory"/>           
          </entries>
        </connection-factory>
      </jms-connection-factories>
      ...
    </subsystem>
    
  5. Configurer le connecteur netty

    La fabrique de connexion JMS utilise un connecteur netty. Il s'agit d'une référence à un objet de connecteur déployé dans le fichier de configuration du serveur. L'objet de connecteur détermine le transport et les paramètres utilisés pour vous connecter au serveur.
    Pour configurer le connecteur netty, inclure les paramètres suivants :
    <subsystem xmlns="urn:jboss:domain:messaging:1.2">
      ...
      <connectors>
        <netty-connector name="netty" socket-binding="messaging"/>
        <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
          <param key="batch-delay" value="50"/>
        </netty-connector>
        <in-vm-connector name="in-vm" server-id="0"/>
      </connectors>
      ...
    </subsystem>
    
    Le connecteur référence les liaisons de socket de messaging et de messaging-throughput. La liaison de socket de messaging utilise le port 5445, et la liaison de socket messaging-throughput utilise le port 5455. Veillez à ce que les liaisons de socket suivantes sont présentes dans l'élément <socket-binding-groups> :
    <socket-binding-groups>
      ...
      <socket-binding-group ... >
        <socket-binding name="messaging" port="5445"/>
        <socket-binding name="messaging-throughput" port="5455"/>
        ...
      </socket-binding-group>
      ...
    </socket-binding-groups>
    
  6. Ajouter les instances de file d'attente à HornetQ

    Il y a quatre façons de configurer les instances de files d'attente (ou destinations JMS) pour HornetQ.
    • Utiliser la Console de gestion
      Pour utiliser la Console de gestion, le serveur devra être démarré sous le mode Message-Enabled. Vous y parviendrez en utilisant l'option -c et en forçant l'utilisation du fichier de configuration standalone-full.xml (pour les serveurs autonomes). Ainsi, en mode autonome, ce qui suit démarrera le serveur en mode activation de message.
      ./standalone.sh -c standalone-full.xml
      Une fois que le serveur a démarré, connectez-vous à la Console de gestion et naviguez dans: Profile → Messaging → Destinations → default → View, puis, cliquer sur le bouton Ajouter pour saisir les détails de la destination JMS.
    • Utiliser le Management CLI:
      Tout d'abord, connectez-vous au ManagementLI:
       bin/jboss-cli.sh --connect
      Puis, passez au sous-système de messagerie :
      cd /subsystem=messaging/hornetq-server=default
      Finalement, exécuter une opération Ajouter, en remplaçant les exemples de valeurs données ci-dessous avec les vôtres :
      ./jms-queue=testQueue:add(durable=false,entries=["java:jboss/exported/jms/queue/test"])
    • Créer un fichier de configuration JMS et y ajouter le dossier de déploiements
      Commencer à créer un fichier de configuration JMS: example-jms.xml. Ajouter y les entrées suivantes, en remplaçant les valeurs avec les vôtres.
      <?xml version="1.0" encoding="UTF-8"?>				  	  <messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0">
          <hornetq-server>
              <jms-destinations>
                  <jms-queue name="testQueue">
                      <entry name="queue/test"/>
                      <entry name="java:jboss/exported/jms/queue/test"/>
                  </jms-queue>
                  <jms-topic name="testTopic">
                      <entry name="topic/test"/>
                      <entry name="java:jboss/exported/jms/topic/test"/>
                  </jms-topic>
              </jms-destinations>
          </hornetq-server>
      </messaging-deployment>
      
      Sauvegardez ce fichier dans le dossier de déploiements et faire un déploiement.
    • Ajouter les entrées dans le fichier de configuration de JBOss EAP.
      En utilisant standalone-full.xml comme exemple, chercher le sous-système de messagerie dans ce fichier.
      <subsystem xmlns="urn:jboss:domain:messaging:1.2">
      
      Ajoutez y les entrées suivantes, encore une fois, en remplaçant les valeurs de l'exemple avec les vôtres. Vous devez ajouter ces entrées après la balise de fin </jms-connection-factories> mais avant l'élément </hornetq-server> :
      <jms-destinations>
              <jms-queue name="testQueue">
                  <entry name="queue/test"/>
                  <entry name="java:jboss/exported/jms/queue/test"/>
              </jms-queue>
              <jms-topic name="testTopic">
                  <entry name="topic/test"/>
                  <entry name="java:jboss/exported/jms/topic/test"/>
              </jms-topic>
          </jms-destinations>
      
  7. Procéder à une configuration supplémentaire

    Si vous avez besoin de davantage de paramètres de configuration, revoir DTD dans EAP_HOME/docs/schema/jboss-messaging_1_2.xsd.