当前位置: 首页 > java >正文

RabbitMQ:SpringAMQP Fanout Exchange(扇型交换机)

目录

  • 一、案例需求
  • 二、基础配置
  • 三、代码实现


扇形交换机也叫做广播交换机,通过交换机将消息发送给所有的队列

生产者源码
消费者源码

一、案例需求

  1. 在RabbitMQ控制台中,声明队列fanout.queue1fanout.queue2
  2. 在RabbitMQ控制台中,声明交换机mt.fanout,将两个队列与其绑定。
  3. 在生产者服务中,向交换机mt.fanout发送消息。
  4. 在消费者服务中,编写两个消费者方法,分别监听fanout.queue1fanout.queue2

在这里插入图片描述

二、基础配置

首先需要创建两个队列fanout.queue1fanout.queue2
在这里插入图片描述
创建一个广播交换机mt.fanout,需要注意的是,在创建交换机的时候需要修改交换机的类型fanount广播交换机
在这里插入图片描述
交换机创建之后,点击交换机的名称,绑定交换机与队列之间的关系。
在这里插入图片描述

三、代码实现

生产者

/**
* 给交换机发送消息(广播交换机)* exchange:交换机的名称* routingKey:直接填写NULL* Object:传递的参数* @throws InterruptedException*/
@Test
public void fanoutExchangeTest() throws InterruptedException {String exchangeName = "mt.fanout";String message = "Fanout Exchange ......";rabbitTemplate.convertAndSend(exchangeName, null, message);
}

消费者,特别注意的是消费者绑定的是队列,而不是交换机

@RabbitListener(queues = "fanout.queue1")
public void listenFanoutQueue1(String message) throws InterruptedException {System.out.println(String.format("消费者1,收到了fanout.queue1: %s", message));
}@RabbitListener(queues = "fanout.queue2")
public void listenFanoutQueue2(String message) throws InterruptedException {System.err.println(String.format("消费者2,收到了fanout.queue2: %s", message));
}

在这里插入图片描述

http://www.xdnf.cn/news/18241.html

相关文章:

  • Java技术总监的成长之路(技术干货分享)
  • 驱动开发系列65 - NVIDIA 开源GPU驱动open-gpu-kernel-modules 目录结构
  • 【PyTorch】多对象分割项目
  • Apache Doris 4.0 AI 能力揭秘(一):AI 函数之 LLM 函数介绍
  • 云计算核心技术之云存储技术
  • oc-mirror plugin v2 错误could not establish the destination for the release i
  • Windows Server DNS优化,网络响应速度提升方案
  • C#传参调用外部exe
  • 【科研绘图系列】R语言绘制多组火山图
  • pytest+requests+allure自动化测试接入Jenkins学习
  • Apache IoTDB 大版本升级记录(成熟的2.0.2版本)
  • 机械原理的齿轮怎么学?
  • 从零开始理解一个复杂的 C++/CUDA 项目 Makefile
  • Chrome插件开发【windows】
  • MyCAT2的主从配置
  • 数据仓库OLTPOLAP维度讲解
  • Spring Cache 整合 Redis 实现高效缓存
  • 数字政务安全实战:等保2.0下OA系统的身份认证与数据防护
  • Mentalab Hypersync高精度无线同步系统:以亚毫秒级助力ExG多模态数据整合
  • 清空 github 仓库的历史提交记录(创建新分支)
  • django生成迁移文件,执行生成到数据库
  • STM32-FreeRTOS快速入门指南(中)
  • 8.19笔记
  • 自建知识库,向量数据库 (十)之 文本向量化——仙盟创梦IDE
  • 在CentOS系统中查询已删除但仍占用磁盘空间的文件
  • 仲裁器设计(三)-- Weighted Round Robin 权重轮询调度
  • 海滨浴场应急广播:守护碧海蓝天的安全防线
  • 私有化部署全攻略:开源大模型本地化改造的性能与安全深度评测
  • 【iOS】内存管理
  • 【git】 撤销revert一次commit中的某几个文件