2010-11-23 2 views
5

Я использую RabbitMQ для направления сообщений заинтересованным абонентам по темам. Каждый абонент имеет очередь, и я привязываю очередь к тем, которые они интересуют. Я хотел бы разрешить пользователю удалить элемент из своего списка тем.Как удалить привязку очереди от RabbitMQ?

В моей установке это потребует «развязывания» связанной темы из очереди этого пользователя.

Я использую pyamqplib, и я не вижу способ сделать это через объект канала. Является ли это способом удаления ранее связанных ключей маршрутизации из очереди?

ответ

3
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); 
    } 
} 
Смежные вопросы