当前位置: 首页 > 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.dtcms.com/a/339873.html

相关文章:

  • RabbitMQ:SpringAMQP 入门案例
  • Flink on Native K8S安装部署
  • 3.Kotlin 集合 Set 所有方法
  • es9.0.1语义检索简单示例
  • 颠覆性进化:OpenAI正式发布GPT-5,AI大模型进入“超级智能”时代
  • InnoDB为什么使用B+树实现索引?
  • 神经网络拆解:用Excel模拟手写数字识别
  • Flume学习笔记
  • OR+DBLINK的关联SQL优化思路
  • Transformer中的编码器和解码器是什么?
  • LLMs之RL之GSPO:《Group Sequence Policy Optimization》翻译与解读
  • 高校数字化转型实战:破解数据孤岛、构建智能指标体系与AI落地路径
  • 数据清理后续
  • 低功耗模式
  • Java配置文件
  • Consul- acl机制!
  • 01-Docker-简介、安装与使用
  • Linux学习-通信(信号,共享内存)
  • C++实现教务管理系统,文件操作账户密码登录(附源码)
  • gitlab、jenkins等应用集成ldap
  • AI学习之DeepSeek本地化部署
  • 数据结构-栈和队列
  • Go语言并发编程 ----- sync包
  • Js逆向案例 Scrape Spa2(Webpack自吐)
  • 2020年EAAI SCI1区TOP,基于ORPFOA算法的多无人机在线变化任务路径规划,深度解析+性能实测
  • RAG 面试题(实时更新补充)
  • 基于SpringBoot的篮球馆预约管理系统【2026最新】
  • 西门子博途DB数据块的详细用法以及如何与威纶通触摸屏变量关联
  • 中兴B862AV3.2M/B862AV3.1-M2 晨星mso9385_安卓9_原厂备份救砖包
  • 机械原理的齿轮怎么学?