如何从RabbitMQ中删除队列绑定?

时间:2010-11-23 15:46:19

标签: rabbitmq amqp py-amqplib

我正在使用RabbitMQ按主题将消息路由到感兴趣的订阅者。每个订阅者都有一个队列,我将队列绑定到他们感兴趣的主题。我想允许用户从他们的主题列表中删除一个项目。

在我的设置中,这需要从该用户的队列中“解除绑定”绑定主题。

我正在使用pyamqplib,我没有看到通过channel对象执行此操作的方法。他们是从队列中删除以前绑定的路由密钥的方法吗?

3 个答案:

答案 0 :(得分:5)

public void unsubscribe(String queuename, String topic) throws IOException
{
   ConnectionFactory factory = new ConnectionFactory();
   factory.setHost(MQ_HOST);
   factory.setPort(MQ_PORT);

   Connection connection = factory.newConnection();
   Channel channel = connection.createChannel();
   try
   {
      channel.exchangeDeclarePassive("Channel name");
      channel.queueUnbind(queuename, "Channel name", topic);
   }
   finally
   {
      handleClose(connection, channel);
   }
}

答案 1 :(得分:1)

答案 2 :(得分:1)

使用Python吗?

在我看来,像pika 0.13一样有unbind method

queue_unbind(queue, exchange=None, routing_key=None, arguments=None, callback=None)