Pregunta

Tengo un conocimiento muy limitado de la configuración de Hornetq, pero intentaré explicar mi problema mejor que pueda.

aquí es la configuración:

Hay varios instancias independientes JBoss (6.1.0Final) que se ejecutan en una red. Esto significa que no se agrupan, han desplegado diferentes aplicaciones, y en general no deben interferir entre sí. Cada JBoss tiene Hornetq configurado con un tema.

No hay puentes centrales (o cualquier puente en absoluto) configurado en deploy/hornetq/hornetq-configuration.xml, de hecho, este es un archivo confir con bastante estándar, con poco o ningún cambio de la que se suministra con JBoss (estoy feliz de publicarlo Si alguien lo pregunta).

Durante la puesta en marcha de todas las instancias de 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

Por supuesto, el UUID es diferente para cada servidor.

Sin embargo, para algunos servidores Hornetq también crea puentes (¿por qué?):

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]

Primera pregunta: ¿Por qué sucede esto, por qué la HQ crea estos puentes incluso si no se especifica la configuración de ellos?

aquí es el problema:

cada pocos segundos, Hornetq arroja

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]

Ahora, esto es un poco "aleatorio", algunos de los servidores JBoss no lo registran en absoluto, algunos registran varias veces con uuids diferentes, todo depende de cuántos puentes creó durante el inicio ...

¿Por qué me pasa esto? ¿Qué puedo hacer para detenerlo? Quiero que todos los servidores trabajen independientemente entre sí.

Estoy feliz de proporcionar más información que pueda ayudar a resolver este problema.

¿Fue útil?

Solución

Los puentes son creados por agrupación automática.Sus dos servidores son probablemente parte de la misma configuración UDP (mire el grupo UDP IP y el puerto en la configuración de Hornetq) y están formando un clúster.

Probablemente cuando apague uno de los nodos, no tenías los nodos cuando lo reinició y los puentes no pudieron volver a conectarse o algo así.

En este caso, no se suponía que debía formar un grupo y los nodos se encontraban encontrados entre sí y, por lo tanto, encontrar los puentes para la comunicación entre grupos.

Cambiar el Puerto de UDP y el puerto y estos servidores serán independientes. O si no necesita agrupar, reemplace las configuraciones de las que están en Standalone Non Clustered.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top