17.2. Accepteurs et Connecteurs

HornetQ utilise le concept de connecteurs et d'accepteurs comme un élément clé du système de messagerie.

Accepteurs et Connecteurs

Acceptor
Un accepteur définit quels types de connections sont acceptées par le serveur HornetQ.
Connector
Un connecteur définit comment se connecter au serveur HornetQ, et est utilisé par le client HornetQ.
Il y a deux sortes de connecteurs et d'accepteurs, suivant que le connecteur ou l'accepteur qui correspond sont dans la même JVM ou non.

Invm et Netty

Invm
Invm est un acronyme pour Intra Virtual Machine. Peut être utilisé quand le client et le serveur exécutent en même temps dans la même JVM.
Netty
Le nom d'un porjet JBoss. Doit être utilisé quand le client et le serveur exécutent dans les JVM différentes.
Un client HornetQ doit utiliser un connecteur compatible avec un des accepteurs du serveur. Seulement un connecteur Invm peut se connecter à un accepteur Invm, et seulement un connecteur netty peut se connecter à un accepteur de netty. Les connecteurs et les accepteurs sont configurés sur le serveur dans un standalone.xml et domain.xml. Vous pouvez utiliser la Console de gestion ou de la CLI de gestion pour les définir

Exemple 17.1. Exemple de configuration du connecteur et de l'accepteur par défaut

<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>

La configuration de l'exemple montre également comment l'application JBoss Enterprise Application Platform 6 de HornetQ utilise des liaisons de socket dans la configuration du connecteur et l'accepteur. Cela diffère de la version autonome de HornetQ, qui vous oblige à déclarer les ports et les hôtes spécifiques.