当前位置: 首页 > 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.lryc.cn/news/626198.html

相关文章:

  • 在Excel和WPS表格中为多个数字同时加上相同的数值
  • 如何解析PDF中的复杂表格数据
  • UniApp 实现pdf上传和预览
  • Go语言快速入门指南(面向Java工程师)
  • 智慧校园中IPTV融合对讲:构建高效沟通新生态
  • DHCP详解
  • sqlite-gui:一款开源免费、功能强大的SQLite开发工具
  • Netty 集成 protobuf
  • 代码随想录刷题——字符串篇(七)
  • 机械原理的齿轮怎么学?
  • Transformer中的编码器和解码器是什么?
  • ubuntu安装kconfig-frontends提示报错
  • SpringAI——向量存储(vector store)
  • 【Netty4核心原理⑫】【异步处理双子星 Future 与 Promise】
  • 企业架构是什么?解读
  • Leetcode 深度优先搜索 (6)
  • 骑行初体验
  • 从“为什么”到“怎么做”——Linux Namespace 隔离实战全景地图
  • CentOS安装SNMPWalk
  • Vue.prototype 的作用
  • 基于 STM32 单片机的远程老人监测系统设计
  • 从踩坑到精通:Java 深拷贝与浅拷贝
  • 算法题Day3
  • 1688商品详情API接口操作指南及实战讲解
  • 告别手写文档!Spring Boot API 文档终极解决方案:SpringDoc OpenAPI
  • 信号和共享内存
  • 理解MCP:开发者的新利器
  • string 题目练习 过程分析 具体代码
  • Redis(10)如何连接到Redis服务器?
  • Git#revert