这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战
1.spring boot整合rabbitmq
代码思路:在配置文件中定义队列(queue),交换机(exchange),然后队列与交换器以路由键名称相对应(路由键和队列名相匹配,既以路由键寻找对列名),然后生产者可以通过交换器和队列名称确定要发送的队列,而消费者选择监控队列,来获取消息。
在整合之前需要安装rabbitmq,然后启动和搭建框架。
1.Direct交换机
1.新建队列与绑定关系
1 | js复制代码@Configuration |
2.生产者
直接配置一个队列,然后调用API发送消息就可以了。
1 | js复制代码public class ProducerController { |
3.消费者
消费者直接使用就可以了(可以传对象 基本类型)。需要@RabbitListener注解。
1 | js复制代码@Component |
2.topic交换机
1.新建队列与绑定关系
声名两个队列和一个topic交换器,然后通过路由键绑定他们之间的关系,路由键和队列名相同就能匹配,但是topic可以模糊匹配 #可以代替一段字符。
1 | js复制代码@Configuration |
2.生产者
直接调用API发送消息。消费者发送到队列,因为有模糊匹配的规则,topic.mess可以匹配 topic.mess和topic.mess2队列 而topic.mess2只能匹配到topic.#。
1 | js复制代码@RestController |
3.消费者
消费者直接接收。
1 | js复制代码@Component |
3.Fanout Exchange 广播
1.新建队列与绑定关系
在配置文件中声名队列和交换器,然后绑定。
1 | js复制代码// --------FanoutExchange绑定 |
2.生产者
调用API发送消息。
1 | js复制代码@RestController |
3.消费者
然后接收,所有绑定队列的都可以接收到。
1 | js复制代码@Component |
本文转载自: 掘金