rabbitmq 直连交换机坑

RabbitMQ的直连交换机不能先启动发送命令,后启动接收命令。

必须先打开接收命令,晾在那儿,再启动发送命令,发送一个,接收一个。

因为直连交换机必须先指定交换机与队列关系,否则消息无效

另外:
 rabbitmq web管理界面 http://localhost:15672/

ADD:

任何发送到direct exchange的消息都会被转发到routing_key中指定的queue
1.一般情况下可以使用rabbitMQ自带的Exchange:""(该exchange的名字为空字符串)
2.这种模式下不需要将exchange进行任何绑定bind操作
3.消息传递时需要一个“routing_key”,可以简单的理解为要发送到队列名字
4.如果vhost中不存在routing_key中指定的队列名,则该消息会被抛弃
Demo中虽然声明了一个exchange='yanfa'和queue='anheng'的band,
但是再后面发消息时并没有使用该exchange和bind,
而是采用了direct的模式,没有指定exchange,二十指定了routing_key的名称为队列名,
消息将发送到指定队列。
如果一个exchange声明为direct,并且bind中指定了routing_key,那么发送消息时需要同时指明该exchange和routing_key
 

猜你喜欢

转载自blog.csdn.net/xyy_forever/article/details/81774271