2012-11-19 31 views
6

मैंने एक विषय विनिमय स्थापित किया है जैसे उपभोक्ता कतार "# .topic" से बंधी है। मैं उपसर्ग के आधार पर विभिन्न पावती रणनीतियों का उपयोग करना चाहता हूं। क्या पूर्ण रूटिंग कुंजी उपभोक्ता को भेजी गई है? यदि हां, तो मैं इसे कैसे एक्सेस करूं? एएमक्यूपी अवधारणाओं के संदर्भ में एक जवाब शायद पर्याप्त होगा, लेकिन खरगोशक-सी से जुड़े एक जवाब आदर्श होगा।एएमक्यूपी - क्या उपभोक्ता को रूटिंग कुंजी पर एसेस है?

उत्तर

7

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

QueueingConsumer.Delivery delivery = consumer.nextDelivery(); 
String routingKey = delivery.getEnvelope().getRoutingKey(); 

वितरण वस्तु एक निकाय है जो पेलोड और delivery.getBody() और एक लिफाफा वस्तु जो पूर्ण रूटिंग कुंजी जैसे अन्य जानकारी शामिल है के साथ पुनः प्राप्त किया जा सकता है।

+0

सी # एपीआई पर, रूटिंग कुंजी को 'RabbitMQ.Client.Events.BasicDeliverEventArgs.RoutingKey' प्रॉपर्टी (मूल डिलीवर इवेंट कॉलबैक में ऑब्जेक्ट) के माध्यम से एक्सेस किया जा सकता है। – Dinei