20.6. Configuration


20.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 pour les serveurs de domaine, ou dans le fichier EAP_HOME/standalone/configuration/standalone-full.xml pour les serveurs autonomes.
L'élément <subsystem xmlns="urn:jboss:domain:messaging:1.4"> du fichier de configuration du serveur contient toute la configuration JMS. Ajouter les instances ConnectionFactory, Queue, ou Topic requises pour le JNDI.
  1. Activer le sous-système JMS dans JBoss EAP 6

    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"/>
    Copy to Clipboard Toggle word wrap
  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 le XML suivant à la suite de la balise suivante <profile>.
      <subsystem xmlns="urn:jboss:domain:messaging:1.4">
          <hornetq-server>
          <!-- ALL XML CONFIGURATION IS ADDED HERE -->
          </hornetq-server>
      </subsystem>
      Copy to Clipboard Toggle word wrap
      Toutes les configurations supplémentaires pourront être ajoutées à la ligne vide ci-dessus.
  3. Ajouter la configuration de base à JMS.

    Ajouter l'XML suivant dans les lignes restées vides juste aprés la balise <subsystem xmlns="urn:jboss:domain:messaging:1.4"><hornetq-server> :
    <journal-min-files>2</journal-min-files>
    <journal-type>NIO</journal-type>
    <persistence-enabled>true</persistence-enabled>
    Copy to Clipboard Toggle word wrap
    Personnaliser les valeurs ci-dessus pour qu'elles correspondent à vos besoins.

    Avertissement

    La valeur de journal-file-size doit être plus élevée ou égale à min-large-message-size (100KiB par défaut), 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 connexions JMS à HornetQ, inclure une simple balise <jms-connection-factories> et un élément <connection-factory> pour chaque fabrique de connexion comme suit :
      <jms-connection-factories>
        <connection-factory name="InVmConnectionFactory">
            <connectors>
                <connector-ref connector-name="in-vm"/>
            </connectors>
            <entries>
                <entry name="java:/ConnectionFactory"/>
            </entries>
        </connection-factory>
        <connection-factory name="RemoteConnectionFactory">
            <connectors>
                <connector-ref connector-name="netty"/>
            </connectors>
            <entries>
                <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
            </entries>
        </connection-factory>
        <pooled-connection-factory name="hornetq-ra">
            <transaction mode="xa"/>
            <connectors>
                <connector-ref connector-name="in-vm"/>
            </connectors>
            <entries>
                <entry name="java:/JmsXA"/>
            </entries>
        </pooled-connection-factory>
    </jms-connection-factories>
    
    Copy to Clipboard Toggle word wrap
  5. Configurer les connecteurs et accepteurs netty

    La fabrique de connexion JMS utilise des connecteurs et accepteurs netty. Il s'agit de références à des objets de connecteurs ou d'accepteurs déployés 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 HornetQ. L'accepteur identifie le type de connexions acceptées par le seveur HornetQ.
    Pour configurer les connecteurs netty, inclure les paramètres suivants :
    <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>
    
    Copy to Clipboard Toggle word wrap
    Pour configurer les accepteurs netty, inclure les paramètres suivants :
    <acceptors>
        <netty-acceptor name="netty" socket-binding="messaging"/>
        <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
            <param key="batch-delay" value="50"/>
            <param key="direct-deliver" value="false"/>
        </netty-acceptor>
        <in-vm-acceptor name="in-vm" server-id="0"/>
    </acceptors>
    
    Copy to Clipboard Toggle word wrap
  6. Vérifier la configuration

    Si vous avez suivi les étapes suivantes, votre système de messagerie devra ressembler à ce qui suit :
    <subsystem xmlns="urn:jboss:domain:messaging:1.4">
        <hornetq-server>
            <journal-min-files>2</journal-min-files>
            <journal-type>NIO</journal-type>
            <persistence-enabled>true</persistence-enabled>
            <jms-connection-factories>
                <connection-factory name="InVmConnectionFactory">
                    <connectors>
                        <connector-ref connector-name="in-vm"/>
                    </connectors>
                    <entries>
                        <entry name="java:/ConnectionFactory"/>
                    </entries>
                </connection-factory>
                <connection-factory name="RemoteConnectionFactory">
                    <connectors>
                        <connector-ref connector-name="netty"/>
                    </connectors>
                    <entries>
                        <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
                    </entries>
                </connection-factory>
                <pooled-connection-factory name="hornetq-ra">
                    <transaction mode="xa"/>
                    <connectors>
                        <connector-ref connector-name="in-vm"/>
                    </connectors>
                    <entries>
                        <entry name="java:/JmsXA"/>
                    </entries>
                </pooled-connection-factory>
            </jms-connection-factories>
            <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>	
            <acceptors>
                <netty-acceptor name="netty" socket-binding="messaging"/>
                <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
                    <param key="batch-delay" value="50"/>
                    <param key="direct-deliver" value="false"/>
                </netty-acceptor>
                <in-vm-acceptor name="in-vm" server-id="0"/>
            </acceptors>
        </hornetq-server>
    </subsystem>
    
    Copy to Clipboard Toggle word wrap
  7. Configurer les groupes de liaison de sockets

    Les connecteurs netty référencent 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. La balise <socket-binding-group> se situe dans une section séparée du fichier de configuration du serveur. Veillez à ce que les liaisons de socket suivantes soient présentes dans l'élément <socket-binding-groups> :
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        ...
        <socket-binding name="messaging" port="5445"/>
        <socket-binding name="messaging-throughput" port="5455"/>
        ...
      </socket-binding-group>
    
    Copy to Clipboard Toggle word wrap
  8. 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
      Copy to Clipboard Toggle word wrap
      Une fois que le serveur aura démarré, connectez-vous à la console de gestion, et sélectionner l'onglet Configuration. Étendre le menu Subsystems, puis le menu Messaging et cliquer sur Destinations. À côté de Default dans le tableau JMS Messaging Provider, cliquer sur View, puis cliquer sur Add pour saisir les détails de la destination JSM.
    • Utiliser l'interface CLI :
      Tout d'abord, connectez-vous à l'interface CLI :
       bin/jboss-cli.sh --connect
      Copy to Clipboard Toggle word wrap
      Puis, passez au sous-système de messagerie :
      cd /subsystem=messaging/hornetq-server=default
      Copy to Clipboard Toggle word wrap
      Finalement, exécuter une opération « add », en remplaçant les exemples de valeurs données ci-dessous par les vôtres :
      ./jms-queue=testQueue:add(durable=false,entries=["java:jboss/exported/jms/queue/test"])
      Copy to Clipboard Toggle word wrap
    • Créer un fichier de configuration JMS et l'ajouter au 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 par 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>
      Copy to Clipboard Toggle word wrap
      Sauvegardez ce fichier dans le dossier de déploiements et faire un déploiement.
    • Ajoutez les entrées dans le fichier de configuration de JBoss EAP 6.
      En utilisant standalone-full.xml comme exemple, cherchez le sous-système de messagerie dans ce fichier.
      <subsystem xmlns="urn:jboss:domain:messaging:1.4">
      Copy to Clipboard Toggle word wrap
      Ajoutez y les entrées suivantes, encore une fois, en remplaçant les valeurs de l'exemple par 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>
      Copy to Clipboard Toggle word wrap
  9. 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-as-messaging_1_4.xsd.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat