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

RabbitMQ:SpringAMQP Direct Exchange(直连型交换机)

目录

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


直连型交换机也叫做定向交换机,通过RoutingKey绑定交换机与队列直接的关系。

生产者源码
消费者源码

一、案例需求

  1. 在RabbitMQ控制台中,声明队列direct.queue1direct.queue2
  2. 在RabbitMQ控制台中,声明交换机mt.direct,将队列direct.queue1direct.queue2绑定到交换机上。
  3. 在生产者服务中,利用不同的RoutingKeymt.direct发送消息。
  4. 在消费者服务中,编写两个消费者方法,分别监听队列direct.queue1direct.queue2

在这里插入图片描述

二、基础配置

首先创建两个队列direct.queue1direct.queue2
在这里插入图片描述
在创建一个定向交换机mt.direct,需要注意的是,在创建交换机的时候需要修改交换机的类型direct定向交换机。
在这里插入图片描述
交换机创建之后,点击交换机的名称,绑定交换机与队列之间的关系。这里需要注意的是,绑定关系的时候需要指定RoutingKey,并且RoutingKey有且只能填写一个,如果有多个的时候需要再绑定依次
在这里插入图片描述

三、代码实现

生产者

/**
* 给交换机发送消息(定向交换机)
* @throws InterruptedException
*/
@Test
public void directExchangeTest() throws InterruptedException {String exchangeName = "mt.direct";//        String message = "红色警报 ......";
//        rabbitTemplate.convertAndSend(exchangeName, "red", message);//        String message = "蓝色警报 ......";
//        rabbitTemplate.convertAndSend(exchangeName, "blue", message);String message = "黄色警报 ......";rabbitTemplate.convertAndSend(exchangeName, "yellow", message);
}

消费者

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

在这里插入图片描述

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

相关文章:

  • 走进数字时代,融入数字生活,构建数字生态
  • Arthas 全面使用指南:离线安装 + Docker/K8s 集成 + 集中管理
  • 开源 C++ QT Widget 开发(一)工程文件结构
  • 猫头虎AI分享|字节开源了一款具备长期记忆能力的多模态智能体:M3-Agent 下载、安装、配置、部署教程
  • Java NIO 核心精讲(上):Channel、Buffer、Selector 详解与 ByteBuffer 完全指南
  • Python量化交易:结合爬虫与TA-Lib技术指标分析
  • Vue2.x核心技术与实战(二)
  • 力扣hot100:三数之和(排序 + 双指针法)(15)
  • Android Cordova 开发 - Cordova 嵌入 Android
  • 谷歌为什么要将Android的页面大小(Page Size)从传统的4KB升级至16KB
  • Android RxJava数据库操作:响应式改造实践
  • Android-ContentProvider的跨应用通信学习总结
  • 2943. 最大化网格图中正方形空洞的面积
  • MCP(模型上下文协议):是否是 AI 基础设施中缺失的标准?
  • 电源、电流及功率实测
  • 【图像算法 - 18】慧眼辨良莠:基于深度学习与OpenCV的麦田杂草智能识别检测系统(附完整代码)
  • RabbitMQ:SpringAMQP 入门案例
  • 【自动驾驶】8月 端到端自动驾驶算法论文(arxiv20250819)
  • 最新研究进展:2023-2025年神经机器翻译突破性成果
  • 【LeetCode】17. 电话号码的字母组合
  • idea中如何设置文件的编码格式
  • 【撸靶笔记】第七关:GET - Dump into outfile - String
  • Python爬虫实战:研究ICP-Checker,构建ICP 备案信息自动查询系统
  • 【MySQL】--- 库表操作
  • 字节开源了一款具备长期记忆能力的多模态智能体:M3-Agent
  • 【数据结构】堆和二叉树详解(下)
  • 构建自主企业:AgenticOps 的技术蓝图
  • 学习嵌入式的第二十一天——数据结构——链表
  • 可以一键生成PPT的AI PPT工具(最新整理)
  • 从机器视觉到图像识别:计算机视觉的多维探索