जेएमएस जावा स्पेस में मैसेजिंग के लिए विक्रेता तटस्थ एपीआई है। एएमक्यूपी का मिशन "सभी मैसेजिंग मिडलवेयर के बीच इंटरऑपरेबिलिटी के लिए मानक प्रोटोकॉल बनना" है। मैं एक जेएमएस क्लाइंट कार्यान्वयन की तलाश में हूं जो एएमक्यूपी विक्रेताओं के बीच इंटरऑपरेबल है। विशेष रूप से, यह अच्छा होगा अगर यह या तो RabbitMQ या Qpid से बात कर सके।क्या कोई जेएमएस एपीआई/क्लाइंट है जो सभी एएमक्यूपी दलालों के साथ काम करता है?
उत्तर
Qpid JMS ग्राहक (जो है, प्रयास से बचने के लिए, OpenAMQ JMS ग्राहक के रूप में एक ही कोड) encodes JMS के अंतर्गत सूचीबद्ध है AMQP 0-9-1 में। मैं ग्राहक की गुणवत्ता के लिए बात नहीं कर सकता, लेकिन यह क्यूपिड जावा संस्करण और RabbitMQ दोनों के लिए काम करना चाहिए।
यह पूरी तरह से हानि रहित एन्कोडिंग नहीं होगा, हालांकि - जेएमएस में एपीआई के कुछ बिट्स हैं जो एएमक्यूपी तक नहीं पहुंचते हैं। उन लोगों के लिए क्यूपिड में शिम हो सकते हैं; खरगोश एमक्यू, बड़े पैमाने पर, नहीं करता है। मैं विशेष रूप से 'नोलोकल' और चयनकर्ताओं के बारे में सोच रहा हूं। शायद अन्य लोग हैं।
(वास्तव में यह/तरह का/AMQP हैडर आदान-प्रदान का उपयोग कर चयनकर्ताओं करता है, लेकिन परिणाम नहीं हो सकता है कि तुम क्या JMS से उम्मीद)
वहाँ AMQP 1.0 का उपयोग करता है एक JMS ग्राहक बनाने के प्रयास है। लेकिन वहां कोई क्यूपिड नहीं है और न ही RabbitMQ रिलीज है जो AMQP 1.0 का समर्थन करता है, जो वास्तव में 0-9-1 और अन्य पूर्व संस्करणों के लिए वास्तव में एक पूरी तरह से अलग प्रोटोकॉल के बाद होता है।
क्यूपिड के पास एक जेएमएस क्लाइंट है। मैं इसे इस्तेमाल कभी नहीं किया है, लेकिन यह यहाँ AMQP ग्राहक एपीआई
मैंने हाल ही में RabbitMQ (AMQP 0-9-1) के साथ अपाचे क्यूपिड क्लाइंट लाइब्रेरी (qpid-client-0.32-bin.tar.gz) का उपयोग किया है और यह बहुत अच्छा काम करता है।
आप AMQP 1.0 ब्रोकर से कनेक्ट करने के आप इस Qpid lib का उपयोग करना चाहिए चाहते हैं (अपाचे-Qpid-jms-0.1.0-bin.tar.gz)
दोनों libs यहां से डाउनलोड किया जा सकता: http://qpid.apache.org/download.html
स्वीकृत उत्तर पुराना है, अब वे एक 1.0 संगत ग्राहक प्रदान करते हैं। – r590