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
相关推荐
Geoking.8 分钟前
深度理解 Java synchronized —— 从原理到实战
java·开发语言
sailing-data10 分钟前
【UI Qt】入门笔记
开发语言·qt·ui
Salt_072812 分钟前
DAY32 类的定义和方法
开发语言·python·算法·机器学习
未来影子19 分钟前
Java领域构建Agent新杀入一匹黑马(agentscope-java)
java·开发语言·python
不会写DN21 分钟前
JavaScript call、apply、bind 方法解析
开发语言·前端·javascript·node.js
阿里嘎多学长21 分钟前
2025-12-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
goxingman23 分钟前
实体类上关于时间字符串和时间字段转换涉及注解分析
java·开发语言
_Voosk23 分钟前
C指针存储字符串为何不能修改内容
c语言·开发语言·汇编·c++·蓝桥杯·操作系统
吃不饱的得可可34 分钟前
【Linux】mmap文件映射的使用
linux·开发语言·c++
管理大亨36 分钟前
ELK的操作应用
开发语言·python·elk