rabbitMQ系列高级整合应用Spring AMQP
在Rabbit基础的API中,声明一个exchange、声明一个绑定、声明一个队列都是通过channel创建出来的。如下图:
那么在spring AMQP中这些对象是怎么声明的?
在使用springAMQP去声明,就需要使用springAMQP的如下模式。即使用@Bean模式:
下面我们就进行代码演示:
在上一篇代码中修改RabbitMQConfig类。添加如下:
/**
* 针对消费者配置
* 1. 设置交换机类型
* 2. 将队列绑定到交换机
FanoutExchange: 将消息分发到所有的绑定队列,无routingkey的概念
HeadersExchange :通过添加属性key-value匹配
DirectExchange:按照routingkey分发到指定队列
TopicExchange:多关键字匹配
*/
说明:
我们需要根据不同的交换机特性进行设置。
如topic的:
启动测试代码,查看队列:
查看交换机:
查看绑定关系:
以topic001这个交换机为例:
绑定了两个队列。队列1和队列3.routingkey分别为:spring.*和mq.*.到底对不对呢?
我们查看代码:
可以看到代码中确实是这么绑定的。说明,我们声明队列、绑定、交换机成功。
本文由凯哥Java(凯哥Java)发布于51CTO。凯哥公众号:凯哥Java(kaigejava)。个人博客:www.kaigejava.com
本节总结:
通过bean注解获取exchange、binding、queue对象。
本文是《rabbitMq精讲系列》教程中的:rabbitMQ精讲系列第十九篇 高级整合应用第二篇 Spring AMQP声明。系列教程,建议从第一篇看起。
下节预告:
下节课,我们将讲解一个重要对象rabbitTemplate对象。