Pregunta

Quiero eliminar atascamientos en RabbitMQ sin borrar la cola de cota. Estoy usando txAMQP con la especificación 0.8 AMQP; que parece ser la única versión que RabbitMQ soportes pero no tiene ningún método unbind.

Por extraño que parezca, una lectura a través del código fuente sugiere que RabbitMQ apoya unbind, lo que me deja bastante confusa.

¿Puedo dirimir con esta combinación de cliente y el servidor? Si es así, ¿cómo?

¿Fue útil?

Solución

Como se ha notado, ha RabbitMQ para algunas versiones apoyado ahora un método Queue.Unbind extensión, con la definición levantado de la especificación 0-9, pero no todas las bibliotecas de cliente AMQP se han extendido de la misma manera.

Para conseguir que esto funcione con txAMQP, que tendrá que tomar las definiciones XML de los métodos Queue.Unbind y Queue.UnbindOk de la especificación 0-9, pegarlos en el archivo de especificaciones 0-8 utiliza txAMQP y reinicio tu solicitud. Ahora debería tener un método Queue.Unbind disponible, si lo he entendido bien cómo funciona txAMQP.

Aquí están las estrofas XML relevantes, desde la especificación de licencia 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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top