目录

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
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
快乐的木子李1 分钟前
Java spring mybatis面试题(200道),八股文
java·开发语言·spring·mybatis
q567315232 分钟前
使用Pholcus编写Go爬虫示例
开发语言·爬虫·golang
martian66516 分钟前
Spring Boot开发三板斧:高效构建企业级应用的核心技法
java·开发语言
cherry523029 分钟前
【Java设计模式】第1章 课程导学
java·开发语言·设计模式
wuxiguala40 分钟前
【java图形化界面编程】
java·开发语言·python
东方雴翾43 分钟前
CSS语言的游戏AI
开发语言·后端·golang
鲤鱼不懂1 小时前
python 浅拷贝copy与深拷贝deepcopy 理解
开发语言·python
猫猫头有亿点炸1 小时前
C语言之九九乘法表
c语言·开发语言
问道飞鱼1 小时前
【Vue3知识】组件间通信的方式
开发语言·javascript·ecmascript·组件·通信
树下水月2 小时前
关于使用python 安装 flask-openapi3扩展,使用docker 环境的完整复盘
开发语言·python·flask