Spring Boot(八):RabbitMQ 详解(下)

简介: Java极客技术

一对多发送

对上面的代码进行了小改造,接收端注册了两个 Receiver,Receiver1 和 Receiver2,发送端加入参数计数,接收端打印接收到的参数,下面是测试代码,发送一百条消息,来观察两个接收端的执行效果

21.png结果如下:


22.png根据返回结果得到以下结论

一个发送者,N个接受者,经过测试会均匀的将消息发送到N个接收者中

多对多发送

复制了一份发送者,加入标记,在一百个循环中相互交替发送

23.png

结果如下:

12.png

结论:和一对多一样,接收端仍然会均匀接收到消息

高级使用

对象的支持

Spring Boot 以及完美的支持对象的发送和接收,不需要格外的配置。


13.png

结果如下:

14.png

Topic Exchange

topic 是 RabbitMQ 中最灵活的一种方式,可以根据 routing_key 自由的绑定不同的队列

首先对 topic 规则配置,这里使用两个队列来测试

15.png


使用 queueMessages 同时匹配两个队列,queueMessage 只匹配 "topic.message" 队列16.png发送send1会匹配到topic.#和topic.message 两个Receiver都可以收到消息,发送send2只有topic.#可以匹配所有只有Receiver2监听到消息

Fanout Exchange

Fanout 就是我们熟悉的广播模式或者订阅模式,给 Fanout 交换机发送消息,绑定了这个交换机的所有队列都收到这个消息。

Fanout 相关配置


17.png这里使用了 A、B、C 三个队列绑定到 Fanout 交换机上面,发送端的 routing_key 写任何字符都会被忽略:


18.png

结果如下:

19.png

结果说明,绑定到 fanout 交换机上面的队列都收到了消息

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2天前
|
消息中间件 Java Spring
如何在Spring Boot中使用RabbitMQ实现消息队列
如何在Spring Boot中使用RabbitMQ实现消息队列
|
2天前
|
消息中间件 Java Spring
Spring Boot与RabbitMQ的集成应用
Spring Boot与RabbitMQ的集成应用
|
2天前
|
消息中间件 Java Spring
Spring Boot与RabbitMQ的集成应用
Spring Boot与RabbitMQ的集成应用
|
3天前
|
消息中间件 Java 机器人
实现Spring Boot与RabbitMQ消息中间件的无缝集成
实现Spring Boot与RabbitMQ消息中间件的无缝集成
|
2月前
|
缓存 Java Maven
Spring Boot自动配置原理
Spring Boot自动配置原理
66 0
|
2月前
|
Java 容器 Spring
Springboot自动配置原理
Springboot自动配置原理
|
2月前
|
Java Spring 容器
SpringBoot的自动配置原理(一)
SpringBoot的自动配置原理(一)
Springboot-starter的自动配置原理-及案例实现6
Springboot-starter的自动配置原理-及案例实现6
|
2月前
|
Java Spring
Springboot-starter的自动配置原理-及案例实现
Springboot-starter的自动配置原理-及案例实现
|
2月前
|
Java Spring 容器
Springboot-starter的自动配置原理-及案例实现5
Springboot-starter的自动配置原理-及案例实现5