springAMQP自定义fanout交换机进行消息的广播

rabbitmq一共有三种交换机:

  1. fanout--广播
  2. direct--定向
  3. topic--话题

rabbitmq-web端

首先我们需要建立一个名叫cybg.fanout交换机与两个自定义的队列用于测试广播效果

我这里就起名字叫做fanout_queue1&fanout_queue2

项目中:

首先对我们的Listener加入对上面两个队列的监听

复制代码
@RabbitListener(queues = "fanout_queue1")
public void fanoutQ1(String msg) throws InterruptedException {
    System.out.println("fanout1接收到的msg:"+msg);
    Thread.sleep(20);
}


@RabbitListener(queues = "fanout_queue2")
public void fanoutQ2(String msg) throws InterruptedException {
    System.out.println("fanout2接收到的msg:"+msg);
    Thread.sleep(20);
}

然后我们可以在springtest中添加对于发消息的demo

复制代码
@Test
void testSendMsgToFanout(){
    String exchangeName = "cybg.fanout";
    String msg = "fanout everyone";
    rabbitTemplate.convertAndSend(exchangeName,null,msg);
}

这里和直接发送到队列不同的是,此处的参数变为了交换机名字、routeKey、message

运行listener服务可以发现我们的队列已经可以拿到我们对交换机发送的消息

复制代码
fanout1接收到的msg:fanout everyone
fanout2接收到的msg:fanout everyone
相关推荐
你怎么知道我是队长2 分钟前
python-input内置函数
开发语言·python
jyan_敬言1 小时前
【C++】string类(二)相关接口介绍及其使用
android·开发语言·c++·青少年编程·visual studio
慕y2741 小时前
Java学习第十六部分——JUnit框架
java·开发语言·学习
liulilittle2 小时前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
Shartin2 小时前
CPT208-Human-Centric Computing: Prototype Design Optimization原型设计优化
开发语言·javascript·原型模式
dme.2 小时前
Javascript之DOM操作
开发语言·javascript·爬虫·python·ecmascript
teeeeeeemo2 小时前
回调函数 vs Promise vs async/await区别
开发语言·前端·javascript·笔记
加油吧zkf2 小时前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
ejinxian2 小时前
PHP 超文本预处理器 发布 8.5 版本
开发语言·php
软件黑马王子3 小时前
C#系统学习第八章——字符串
开发语言·学习·c#