hornetq “Não é possível encontrar informações da fila para a fila <outro uuid do servidor>”, pontes principais?

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

  •  21-12-2019
  •  | 
  •  

Pergunta

Tenho conhecimento muito limitado sobre a configuração do HornetQ, mas tentarei explicar meu problema da melhor maneira possível.

Aqui está a configuração:

Existem várias instâncias STANDALONE JBoss (6.1.0Final) em execução em uma rede.Isso significa que eles não estão agrupados, implantaram aplicativos diferentes e, em geral, não devem interferir uns nos outros.Cada JBoss possui o HornetQ configurado com um tópico.

NÃO há pontes principais (ou quaisquer pontes) configuradas em deploy/hornetq/hornetq-configuration.xml, na verdade, este é um arquivo conf praticamente padrão, com pouca ou nenhuma alteração daquele que é fornecido com o jboss (fico feliz em publicá-lo se alguém perguntar).

Durante a inicialização de TODAS as instâncias do 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

é claro que o UUID é diferente para cada servidor.

Porém, para alguns servidores o HornetQ também cria pontes (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]

Primeira pergunta:Por que isso acontece, por que o HQ cria essas pontes mesmo que nenhuma configuração delas seja especificada?

Aqui está o problema:

a cada poucos segundos, o HornetQ vomita

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]

Agora, isso é um pouco "aleatório", alguns servidores JBoss não registram nada, alguns registram várias vezes com UUIDs diferentes, tudo depende de quantas pontes foram criadas durante a inicialização ...

Por que isso acontece comigo?O que posso fazer para impedir isso?Quero que todos os servidores funcionem independentemente uns dos outros.

Tenho prazer em fornecer mais informações que podem ajudar a resolver esse problema.

Foi útil?

Solução

As pontes são criadas por clustering automático.Seus dois servidores provavelmente fazem parte da mesma configuração UDP (veja o IP do grupo UDP e a porta na configuração hornetq) e estão formando um cluster.

Provavelmente quando você desligou um dos nós você não tinha os nós quando o reiniciou e as pontes não conseguiram se reconectar ou algo parecido.

Neste caso você não deveria formar um cluster e os nós estavam se encontrando e, portanto, encontrando as pontes para a intercomunicação do cluster.

altere o IP e a porta UDP e esses servidores serão independentes.ou se você não precisar de cluster, substitua as configurações daquelas em cluster independente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top