首先要了解RabbitMQ的流程图
客户端与RabbitMQ之间是要有信道做载体的。
具体流程如图。
三种交换器类型:direct、fanout、topic。具体三种的差异这里就不过多赘述了,下面直接上代码例子。
direct交换器类型
生产者:
消费者:
如果启动报:connection error; protocol method: #method<connection.close>。。。。。的是因为在RabbitMQ管理界面上有把虚拟主机分配给用户,但是没有把系统默认的Virtua lHost为【/】分配给用户造成的,所以解决办法把Virtua lHost为【/】分配给用户就可解决。
如图:
运行结果:
生产者:
消费者:
可以看到由于只绑定了ylq的路由键,所以消费者只消费了ylq路由键的消息。