HornaTQ "Impossibile trovare informazioni sulla coda per la coda ", ponti principali?
Domanda
Ho una conoscenza molto limitata della configurazione di HornETQ, ma cercherò di spiegare il mio problema.
Ecco la configurazione:
Ci sono diversi istanze standalone JBoss (6.1.0Final) in esecuzione su una rete. Ciò significa, non sono raggruppati, hanno schierato l'applicazione diversa, e in generale non dovrebbero interferire tra loro. Ogni JBoss ha configurato HornetQ con un argomento.
Non ci sono ponti fondamentali (o tutti i ponti) configurati in deploy/hornetq/hornetq-configuration.xml
, in realtà questo è un file conferente praticamente standard, con poco a nessun cambiamento da quello che viene fornito con JBoss (sono felice di postarlo Se qualcuno chiede a tho).
Durante l'avvio di tutte le istanze 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
.
Ovviamente l'UUID è diverso per ciascun server.
Tuttavia, per alcuni server HorlatQ crea anche ponti (perché?):
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]
.
Prima domanda: Perché questo accade, perché HQ creane questi ponti anche se non viene specificata alcuna configurazione di loro?
Ecco il problema:
Ogni pochi secondi, EarnotQ SPEGS
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]
.
Ora questo è un po '"casuale", alcuni dei server JBoss non lo registrano affatto, alcuni li registrano più volte con UUID diversi, tutto dipende da quanti ponti creati durante l'avvio ... .
Perché questo mi capita? Cosa posso fare per fermarlo. Voglio che tutti i server funzionino indipendentemente l'uno dall'altro.
Sono felice di fornire maggiori informazioni che potrebbero aiutare a risolvere questo problema.
Soluzione
I ponti sono creati da un clustering automatico.I tuoi due server probabilmente sono parte della stessa configurazione UDP (guarda il Gruppo UDP IP e la porta sulla configurazione di HornetQ) e stanno formando un cluster.
Probabilmente quando si spegne uno dei nodi che non hai avuto i nodi quando l'hai riavviato e i ponti non sono stati in grado di riconnettersi o qualcosa del genere.
In questo caso non si dovrebbe formare un cluster e i nodi si trovano a vicenda e quindi trovando i ponti per la comunicazione Inter del cluster.
Modificare l'IP e la porta UDP e questi server saranno indipendenti .. o se non è necessario clustering Sostituire le configurazioni da quelle su standalone non raggruppate.