您的位置:首页 > 产品设计 > UI/UE

rabbitmq 学习-8- Exchange Queue RoutingKey关系说明

2011-08-30 21:52 621 查看
String queue = channel.queueDeclare("test.queue").getQueue();

Rabbitmq Server 会有以下操作:

定义了一个queue,名称为test.queue
把queue的名称(test.queue)作为routingKey,将当前这个queue binding到一个默认的exchange(名称为空,服务器自动创建的)上

如果我们 binding的话

channel.queueBind("test.queue", "test.exchange", "test.routingkey");

上边和默认的Exchange进行的binding还是会存在的

经过同事lucas多次测试发现,以前认为RoutingKey是唯一的或由Exchange和RoutingKey决定一条唯一的由Exchange到Queue的线路是不正确的
测试结果如下:
Exchange Name

Queue Name

Routing Key

test.queue

test.queue

test.queue2

test.queue2

test.exchange

test.queue

test.routingkey

test.exchange

test.queue2

test.routingkey

test.exchange

test.queue

test.routingkey2

test.exchange1

test.queue

test.routingkey

由结果可以看出,由Exchange,Queue,RoutingKey三个才能决定一个从Exchange到Queue的唯一的线路。

画张图,不是很准确



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: