2015-06-26 11 views
7

से संदेश नहीं ले रहा है मैंने हाल ही में ActiveMQ से सर्वर को 5.8 से नवीनतम (5.11.1) में अपग्रेड किया है। तब से, मैंने कुछ हद तक देखा है कि संदेश एक विशेष कतार पर बनाए जाएंगे और इसे नहीं हटाया जाएगा।ActiveMQ कतार

हमारे वास्तुकला में एक निर्माता, एक उपभोक्ता है। मैं देख सकता हूं कि उपभोक्ता अभी भी जुड़ा हुआ है लेकिन निर्माता निर्माता से पिलिंग कर रहे हैं। मेरा समाधान वेब कंसोल के माध्यम से कतार को हटाने के लिए किया गया है। इसके बाद, मैं तुरंत उपभोक्ता पुनः कनेक्ट देखता हूं और संदेश फिर से संसाधित होने लगते हैं।

यदि यह प्रासंगिक है, तो इस मामले में निर्माता .NET पर एनएमएस चला रहा है और उपभोक्ता जावा 1.7 पर जेएमएस चला रहा है।

+0

यदि आप उपभोक्ता को डिस्कनेक्ट/पुनः कनेक्ट करते हैं तो यह काम करेगा? कतार को हटाकर "ब्रूटफोर्स फिक्स" लगता है। – SubOptimal

+0

@SubOptimal अच्छा सवाल, मुझे वास्तव में इसका जवाब निश्चित नहीं है। एप्लिकेशन चलने के दौरान उपभोक्ता को डिस्कनेक्ट/रीकनेक्ट करने के लिए मेरे पास एप्लिकेशन में कोई हुक नहीं है। न ही मुझे यह पता लगाने का एक तरीका पता है कि यह इस स्थिति में है क्योंकि यह अपने दृष्टिकोण से है, संदेश सिर्फ अंदर नहीं आ रहे हैं। – Ternary

+1

जैसे ही अगली बार संचार बंद हो गया। आप JConsole का उपयोग कर जेएमएक्स इंटरफ़ेस के माध्यम से कक्षा 'org.apache.activemq.transport.TransportLogger' से' DEBUG' से संबंधित लॉगर के लिए लॉगिंग स्तर बदल सकते हैं। फिर आपको ब्रोकर संचार देखना चाहिए। शायद यह समझाएगा कि क्या होता है। – SubOptimal

उत्तर

2

जब उपभोक्ता कतार से जुड़ा होता है, तो कृपया वेब कंसोल से कतार में असामान्य संदेशों की संख्या जांचें। यदि यह शून्य से अधिक है और लंबे समय तक नहीं बदलता है, तो इसका मतलब है कि आपके उपभोक्ता को इनपुट संदेश पढ़ने में कुछ समस्या हो रही है।

यदि उपर्युक्त मामला सत्य है, तो ऐसा इसलिए हो सकता है क्योंकि निर्माता ऐसी फाइलें भेज रहा है जो जेएमएस शिकायत नहीं है।

+0

यह कोशिश करने के लिए अच्छी चीजें है, मैं यह करूँगा और रिपोर्ट करूंगा। धन्यवाद! – Ternary

+0

"असामान्य संदेशों की संख्या" से आपका मतलब कंसोल में 'लंबित संदेशों की संख्या' है? मुझे जो मूल्य पता है वह शून्य नहीं है और यदि मैं कतार पर क्लिक करता हूं तो मैं संदेश की सामग्री देख सकता हूं और कम से कम पेलोड वैध दिखता है और निर्माता जो भेज रहा है उसके अनुरूप है। – Ternary

0

मैंने हाल ही में इस समस्या में भाग लिया जबकि सभी संदेशों को एक कतार से दूसरे में स्थानांतरित करने के लिए उपयोगिता बना रही थी।

मैं देख सकता था कि मैं AMQ की मेरी उदाहरण से जुड़े हुए थे, और मैं श्रोता है कि मैं बनाया था देख सकते हैं, लेकिन वे सिर्फ अपनी श्रोता के लिए लंबित से स्थानांतरित नहीं होता ...

मैं भूल गए थे मेरे कतार कनेक्शन पर प्रारंभ करें()। :/

संबंधित मुद्दे