あなたが一覧表示する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つのとき)。
特定のキューのすべてのバインディングを削除する必要があります。キューに関連付けられているバインディングはわかりません。 – lolotron
サンプルコードを回答に追加しました。 –
AMQPプロトコルには依存しませんが、これは固い回答です。私は同じ意味でqpidとrabbitmqを使用していますので、qpidの実装方法を変えなければなりません。ご協力いただきありがとうございます。 – lolotron