2016-09-01 6 views

答えて

2

あなたが一覧表示するREST APIを使用することができないようしたいのですが削除するユーザーの場合はamqpAdmin.removeBinding()となります。ここでEDIT

は、Javaを使用してコードだ8 Stream - あなたは...あなたは、Java 8を使用していない場合は、リストを反復処理することにより、同じことを行うことができます

RabbitManagementTemplate rmt = new RabbitManagementTemplate("http://localhost:15672/api/", "guest", "guest"); 
rmt.getBindings().stream() 
    .filter(b -> b.getDestination().equals("q1") && b.isDestinationQueue()) 
    .forEach(b -> { 
     System.out.println("Deleting " + b); 
     amqpAdmin.removeBinding(b); 
    }); 

結果:

Deleting Binding [destination=q1, exchange=, routingKey=q1] 
Deleting Binding [destination=q1, exchange=ex1, routingKey=foo] 
Deleting Binding [destination=q1, exchange=ex2, routingKey=foo] 

(q1がデフォルトの交換にバインドされたときと2つのとき)。

+0

特定のキューのすべてのバインディングを削除する必要があります。キューに関連付けられているバインディングはわかりません。 – lolotron

+0

サンプルコードを回答に追加しました。 –

+0

AMQPプロトコルには依存しませんが、これは固い回答です。私は同じ意味でqpidとrabbitmqを使用していますので、qpidの実装方法を変えなければなりません。ご協力いただきありがとうございます。 – lolotron

関連する問題