20.11.3.3. Configurer les groupes discovery pour les clients JMS (Java Messaging Service)
Les groupes discovery peuvent être configurés pour les clients JMS et pour les clients principaux. Vous pouvez spécifier le groupe discovery à utiliser pour une usine de connexions JMS dans les fichiers de configuration de serveur (
standalone.xml et domain.xml) :
<connection-factory name="ConnectionFactory">
<discovery-group-ref discovery-group-name="my-discovery-group"/>
<entries>
<entry name="ConnectionFactory"/>
</entries>
</connection-factory>
L'élément discovery-group-ref est utilisé pour spécifier le nom d'un groupe discovery. Lorsqu'une application client télécharge cette usine de connexions de JNDI (Java Naming and Directory Interface) et crée des connexions JMS, ces connexions sont équilibrées sur tous les serveurs que le groupe discovery préserve en écoutant l'adresse de multidiffusion spécifiée dans la configuration de groupe discovery.
Si vous utilisez JMS et non pas JNDI pour chercher une usine de connexions, alors vous pourrez spécifier les paramètres de groupe de discovery directement quand vous créerez l'usine de connexions JMS :
final String groupAddress = "231.7.7.7"; final int groupPort = 9876; ConnectionFactory jmsConnectionFactory = HornetQJMSClient.createConnectionFactory(new DiscoveryGroupConfiguration(groupAddress, groupPort, new UDPBroadcastGroupConfiguration(groupAddress, groupPort, null, -1)), JMSFactoryType.CF); Connection jmsConnection1 = jmsConnectionFactory.createConnection(); Connection jmsConnection2 = jmsConnectionFactory.createConnection();
La valeur par défaut de l'attribut
refresh-timeout peut être définie sur DiscoveryGroupConfiguration en utilisant la méthode setter setDiscoveryRefreshTimeout(). Pour que la fabrique de connexions attende un certain temps avant de créer la première connexion, vous pouvez utiliser la méthode setter setDiscoveryInitialWaitTimeout() sur DiscoveryGroupConfiguration.
Cela garantit que la fabrique de connexions ait suffisemment de temps pour recevoir les diffusions de tous les nœuds du cluster. La valeur par défaut de ce paramètre est de 10 000 millisecondes.