hornetq "لا يمكن العثور على معلومات قائمة الانتظار لقائمة الانتظار <uuid خادم آخر>"، الجسور الأساسية؟

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

  •  21-12-2019
  •  | 
  •  

سؤال

لدي معرفة محدودة جدًا بتكوين HornetQ، ولكن سأحاول شرح مشكلتي بأفضل ما أستطيع.

وهنا الإعداد:

هناك العديد من مثيلات STANDALONE JBoss (6.1.0Final) التي تعمل على شبكة واحدة.وهذا يعني أنها ليست متجمعة، وقد نشرت تطبيقات مختلفة، وبشكل عام لا ينبغي أن تتداخل مع بعضها البعض.تم تكوين HornetQ لكل JBoss بموضوع واحد.

لا توجد جسور أساسية (أو أي جسور على الإطلاق) تم تكوينها 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]

السؤال الأول:لماذا يحدث هذا، لماذا يقوم المقر الرئيسي بإنشاء هذه الجسور حتى لو لم يتم تحديد تكوين لها؟

ها هي المشكلة:

كل بضع ثوان، يبث 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 مختلفة، كل هذا يتوقف على عدد الجسور التي تم إنشاؤها أثناء بدء التشغيل...

لماذا يحدث هذا لي؟ماذا يمكنني أن أفعل لوقفه.أريد أن تعمل جميع الخوادم بشكل مستقل عن بعضها البعض.

ويسعدني تقديم المزيد من المعلومات التي يمكن أن تساعد في حل هذه المشكلة.

هل كانت مفيدة؟

المحلول

يتم إنشاء الجسور عن طريق التجميع التلقائي.من المحتمل أن يكون الخادمان الخاصان بك جزءًا من نفس تكوين UDP (انظر إلى مجموعة UDP IP والمنفذ الموجود في تكوين hornetq) وهما يشكلان مجموعة.

ربما عند إيقاف تشغيل إحدى العقد، لم تكن لديك العقد عند إعادة تشغيلها ولم تتمكن الجسور من إعادة الاتصال أو شيء من هذا القبيل.

في هذه الحالة، لم يكن من المفترض أن تقوم بتكوين مجموعة وكانت العقد تجد بعضها البعض ومن ثم تجد الجسور للاتصال بين المجموعة.

قم بتغيير UDP IP والمنفذ وستكون هذه الخوادم مستقلة.أو إذا لم تكن بحاجة إلى التجميع، فاستبدل التكوينات من تلك الموجودة في قائمة بذاتها غير المجمعة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top