hornetq « Impossible de trouver les informations de file d'attente pour la file d'attente <autre uuid du serveur> », ponts principaux ?

StackOverflow https://stackoverflow.com//questions/22035171

  •  21-12-2019
  •  | 
  •  

Question

J'ai une connaissance très limitée de la configuration d'HornetQ, mais je vais essayer d'expliquer mon problème du mieux que je peux.

Voici la configuration :

Il existe plusieurs instances AUTONOME de JBoss (6.1.0Final) exécutées sur un même réseau.Cela signifie qu'ils ne sont pas regroupés, qu'ils ont déployé des applications différentes et qu'en général, ils ne doivent pas interférer les uns avec les autres.Chaque JBoss a HornetQ configuré avec un seul sujet.

Il n'y a AUCUN pont principal (ni aucun pont du tout) configuré dans deploy/hornetq/hornetq-configuration.xml, en fait, il s'agit à peu près d'un fichier de configuration standard, avec peu ou pas de changements par rapport à celui fourni avec jboss (je suis heureux de le publier si quelqu'un le demande).

Lors du démarrage de TOUTES les instances JBoss :

07:37:40,489 INFO  [HornetQServerImpl] Server is now live
07:37:40,489 INFO  [HornetQServerImpl] HornetQ Server version 2.2.5.Final (HQ_2_2_5_FINAL_AS7, 121) [7d0a3341-9eb0-11e3-980d-2c768a5d129f] started

bien sûr, l'UUID est différent pour chaque serveur.

Cependant, pour certains serveurs, HornetQ crée également des ponts (POURQUOI ?) :

07:37:40,764 INFO  [BridgeImpl] Connecting bridge sf.my-cluster.e479de63-9d3b-11e3-b089-2c768a5d0e23 to its destination [7d0a3341-9eb0-11e3-980d-2c768a5d129f]
07:37:40,878 INFO  [BridgeImpl] Connecting bridge sf.my-cluster.f9d193de-5bfa-11e3-9491-2c768a5d129f to its destination [7d0a3341-9eb0-11e3-980d-2c768a5d129f]
07:37:40,980 INFO  [BridgeImpl] Bridge sf.my-cluster.e479de63-9d3b-11e3-b089-2c768a5d0e23 is connected [7d0a3341-9eb0-11e3-980d-2c768a5d129f-> sf.my-cluster.e479de63-9d3b-11e3-b089-2c768a5d0e23]
07:37:40,980 INFO  [BridgeImpl] Bridge sf.my-cluster.f9d193de-5bfa-11e3-9491-2c768a5d129f is connected [7d0a3341-9eb0-11e3-980d-2c768a5d129f-> sf.my-cluster.f9d193de-5bfa-11e3-9491-2c768a5d129f]

Première question:Pourquoi cela se produit-il, pourquoi le QG crée-t-il ces ponts même si aucune configuration n'est spécifiée ?

Voici le problème :

toutes les quelques secondes, HornetQ crache

2014-02-26 08:17:28,379 ERROR [org.hornetq.core.server.management.impl.ManagementServiceImpl] (Thread-3 (group:HornetQ-client-global-threads-903011273)) Failed to call listener: java.lang.IllegalStateException: Cannot find queue info for queue 80ce792b-382b-4d22-99ae-60cf25e305027d0a3341-9eb0-11e3-980d-2c768a5d129f
    at org.hornetq.core.postoffice.impl.PostOfficeImpl.onNotification(PostOfficeImpl.java:278) [:6.1.0.Final]
    at org.hornetq.core.server.management.impl.ManagementServiceImpl.sendNotification(ManagementServiceImpl.java:654) [:6.1.0.Final]
    at org.hornetq.core.postoffice.impl.PostOfficeImpl.removeBinding(PostOfficeImpl.java:511) [:6.1.0.Final]
    at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.removeBinding(ClusterConnectionImpl.java:886) [:6.1.0.Final]
    at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.doBindingRemoved(ClusterConnectionImpl.java:874) [:6.1.0.Final]
    at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.onMessage(ClusterConnectionImpl.java:695) [:6.1.0.Final]
    at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:866) [:6.1.0.Final]
    at org.hornetq.core.client.impl.ClientConsumerImpl.access$100(ClientConsumerImpl.java:44) [:6.1.0.Final]
    at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:983) [:6.1.0.Final]
    at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [:6.1.0.Final]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [:1.7.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [:1.7.0_25]
    at java.lang.Thread.run(Thread.java:724) [:1.7.0_25]

Maintenant, c'est un peu "aléatoire", certains serveurs JBoss ne l'enregistrent pas du tout, certains l'enregistrent plusieurs fois avec différents UUID, tout dépend du nombre de ponts créés au démarrage...

Pourquoi cela m'arrive-t-il ?Que puis-je faire pour l'arrêter.Je veux que tous les serveurs fonctionnent indépendamment les uns des autres.

Je suis heureux de fournir plus d'informations qui pourraient aider à résoudre ce problème.

Était-ce utile?

La solution

Les ponts sont créés par clustering automatique.Vos deux serveurs font probablement partie de la même configuration UDP (regardez l'adresse IP et le port UDP du groupe sur la configuration hornetq) et ils forment un cluster.

Probablement lorsque vous arrêtez l'un des nœuds, vous n'aviez pas les nœuds lorsque vous l'avez redémarré et les ponts ne pouvaient pas se reconnecter ou quelque chose comme ça.

Dans ce cas, vous n'étiez pas censé former un cluster et les nœuds se retrouvaient et trouvaient ainsi les ponts pour la communication inter-cluster.

changez l’adresse IP et le port UDP et ces serveurs seront indépendants.ou si vous n'avez pas besoin de clustering, remplacez les configurations par celles du mode autonome non clusterisé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top