queue可以与exchange绑定
exchange之间也可以互相绑定,但是当queue与互相绑定的exchange都存在绑定关系时,不会重复接收消息。
/* pre (eN --> qN) for N in [0..2]
* add binding (e0 --> q1)
* test (e0 --> {q0, q1})
* add binding (e1 --> e0)
* resulting in: (e1 --> {q1, e0 --> {q0, q1}})
* test (e1 --> {q0, q1})
*/
public void testDuplicateQueueDestinations() throws IOException,
ShutdownSignalException, InterruptedException {
channel.queueBind("q1", "e0", "");
publishWithMarker("e0", "");
consumeNoDuplicates(consumers[0]);
consumeNoDuplicates(consumers[1]);
channel.exchangeBind("e0", "e1", "");
publishWithMarker("e1", "");
consumeNoDuplicates(consumers[0]);
consumeNoDuplicates(consumers[1]);
channel.exchangeUnbind("e0", "e1", "");
}