我正在使用RabbitMQ按主题将消息路由到感兴趣的订阅者。每个订阅者都有一个队列,我将队列绑定到他们感兴趣的主题。我想允许用户从他们的主题列表中删除一个项目。
在我的设置中,这需要从该用户的队列中“解除绑定”绑定主题。
我正在使用pyamqplib,我没有看到通过channel对象执行此操作的方法。他们是从队列中删除以前绑定的路由密钥的方法吗?
答案 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)