参考http://blog.csdn.net/lmj623565791/article/details/37620057和RabbitMQ官网,加之自己部分修改和实验,因是新手自学,难免有不对之处,欢迎大家指正,小弟先谢过了.
这篇文章主要学习下exchange类型的第二种类型:direct
在上一篇文章中,主要学习了RabbitMQ exchange的fanout(广播方式),即producer发送的消息会被所有的消费者接收处理,有木有”强买强卖”的感觉呢(我不要你也塞给我,还要花费我的精力).在这篇中,我们将来一个”私人定制版”的订阅.
其实这种模式没有特别之处,主要是理解下面这个概念就行.
bindings(绑定)和routingKey(路由键)
关于bindings,官网有一段话:
A binding is a relationship between an exchange and a queue. This can be simply read as: the queue is interested in messages from this exchange.
翻译一下: binding 是exchange(转化器)和queue(队列)关系的一种描述,可以简单的被理解为:该队列对这个exchange上的消息感兴趣.
在定义一段关系时,bindings可以带一个routingKey(String类型)的参数,如下:
channel.queueBind(queueName, EXCHANGE_NAME,