hornetq“无法找到队列的队列信息<other server =”“uuid =”“>”,核心桥梁?</other>

时间:2014-02-26 07:59:32

标签: jboss jms hornetq jms-topic

我对HornetQ配置知之甚少,但我会尽力解释我的问题。

以下是设置:

在一个网络上运行了几个STANDALONE JBoss(6.1.0Final)实例。这意味着,它们不是群集的,它们已经部署了不同的应用程序,并且通常它们不应该相互干扰。每个JBoss都有HornetQ配置了一个主题。

deploy/hornetq/hornetq-configuration.xml中没有配置核心桥(或任何桥),实际上这是非常标准的配置文件,与jboss提供的配置几乎没有变化(我是如果有人问你,很高兴发布。

在启动所有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

当然,每个服务器的UUID都不同。

但是,对于某些服务器,HornetQ也会创建桥梁(为什么?):

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]

第一个问题:为什么会发生这种情况,为什么HQ会创建这个桥,即使没有指定它们的配置?

问题在于:

每隔几秒钟,HornetQ就会喷出

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]

现在这有点“随机”,有些JBoss服务器根本没有记录,有些使用不同的UUID多次记录,这一切都取决于它在启动时创建的桥数量......

为什么会发生这种情况?我能做些什么来阻止它。我希望所有服务器彼此独立工作。

我很乐意提供更多有助于解决此问题的信息。

1 个答案:

答案 0 :(得分:1)

网桥是通过自动群集创建的。您的两个服务器可能是相同UDP配置的一部分(查看hornetq配置中的UDP组IP和端口组),它们正在形成一个集群。

当您关闭其中一个节点时,可能会在重新启动节点时没有节点,并且网桥无法重新连接或类似的节点。

在这种情况下,您不应该形成一个集群,并且节点正在寻找彼此,因此找到了集群内部通信的桥梁。

更改UDP IP和端口,这些服务器将是独立的..或者如果您不需要群集,请替换独立非群集上的配置。