HornetQ の設定に関する知識は非常に限られていますが、できる限り問題を説明しようと思います。
セットアップは次のとおりです。
1 つのネットワーク上で複数の STANDALONE JBoss (6.1.0Final) インスタンスが実行されています。つまり、それらはクラスター化されておらず、異なるアプリケーションをデプロイしており、一般に相互に干渉するべきではありません。各 JBoss には、1 つのトピックで設定された HornetQ があります。
で構成されたコアブリッジ (またはまったくブリッジ) はありdeploy/hornetq/hornetq-configuration.xml
ません。実際、これはかなり標準的な conf ファイルであり、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 で複数回ログを記録するものもあります。すべては、起動時に作成されたブリッジの数に依存します...
なぜこれが私に起こるのですか?それを止めるにはどうすればよいでしょうか。すべてのサーバーが互いに独立して動作するようにします。
この問題の解決に役立つ情報をさらに提供できることをうれしく思います。