سؤال

أريد إزالة الارتباطات في Rabbitmq دون حذف قائمة انتظار المنضم. أنا أستخدم TXAMQP مع 0.8 AMQP المواصفات؛ يبدو أن الإصدار الوحيد الذي يدعمه Rabbitmq لكنه لا يوجد لديه unbind طريقة.

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

هل يمكنني إلغاء ربط هذا المزيج من العميل والخادم؟ إذا كان الأمر كذلك، كيف؟

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

المحلول

كما لاحظت، فإن RabBitMQ لديه للحصول على عدد قليل من الإصدارات التي أيدت الآن طريقة قائمة انتظار التمديد. مع رفع التعريف من المواصفات 0-9، ولكن لم يتم تمديد جميع مكتبات عميل AMQP بنفس الطريقة.

للحصول على هذا للعمل مع TXAMQP، ستحتاج إلى إجراء تعريفات XML لأساليب Queue.unbind و Queue. يجب أن يكون لها الآن طريقة قائمة انتظار المتاحة، إذا فهمت بشكل صحيح كيف يعمل TXAMQP.

فيما يلي STANZAS ذات الصلة XML، من BSD المرخصة 0-9-1 المواصفات:

<method name="unbind" synchronous="1" index="50">
  <chassis name="server" implement="MUST"/>
  <response name="unbind-ok"/>
  <field name="reserved-1" type="short" reserved="1"/>
  <field name="queue" domain="queue-name"/>
  <field name="exchange" domain="exchange-name"/>
  <field name="routing-key" domain="shortstr"/>
  <field name="arguments" domain="table"/>
</method>
<method name="unbind-ok" synchronous="1" index="51">
  <chassis name="client" implement="MUST"/>
</method>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top