1.当没有给队列绑定交换机时,RabbitMq会将队列绑定在默认的交换机上(RabbitMq默认创建好的交换机)
登上管理页面,打开该队列,看到它Bindings这一项里写着很明白是默认的
我们再去看看这个默认的交换机是怎么样的 ,可以看到它的类型是direct
看他的介绍
意思是:每个队列默认都会绑定这个交换机,路由密钥等于队列名称。 无法显式绑定到这个默认的交换机或从默认交换机中取消绑定。 它也无法删除。
所以上面的标题写的不对,不是没有给队列绑定交换机时,RabbitMq会将队列绑定在默认的交换机上,而是队列一创建,它就会默认绑定到这个交换机上,如果你将这个队列绑定到另一个交换机了,则这个队列就绑定了两个交换机.
你发送消息的时候,如果指定了交换机,那它就会在对应的交换机根据规则找到对应的队列