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

rabbitMq路由键介绍

rabbitTemplate.convertAndSend() 是 Spring AMQP 中用于发送消息到 RabbitMQ 的方法。下面是对您提供的代码示例的解释:

rabbitTemplate.convertAndSend("ums-platform.ex", "ums.report.routing", param);

这行代码主要完成以下几个操作:

rabbitTemplate:这是一个 RabbitTemplate 对象,它是 Spring AMQP 提供的用于与 RabbitMQ 进行交互的模板类。在发送消息时,我们使用这个对象来调用相应的方法。convertAndSend() 方法:这是 RabbitTemplate 类的一个方法,用于将消息发送到指定的交换机和路由键。"ums-platform.ex":这是交换机的名称,表示要将消息发送到名为 "ums-platform.ex" 的交换机。"ums.report.routing":这是路由键,表示消息将根据该路由键进行匹配,并被路由到相应的队列。在这个例子中,消息会被发送到与 "ums.report.routing" 路由键匹配的队列中。param:这是要发送的消息内容,可以是任意类型的对象。

总结起来,上述代码的作用是将 param 对象作为消息发送到名为 “ums-platform.ex” 的交换机,并使用 “ums.report.routing” 路由键进行路由。

请注意,在实际运行代码之前,您需要确保已经正确配置了 RabbitMQ 连接和交换机/队列等相关信息。另外,您还需要在项目中引入 Spring AMQP 相关的依赖。

当使用 “ums.report.routing” 路由键进行路由时,RabbitMQ会将消息发送到与该路由键匹配的队列。下面是一个示例来说明这个过程:

假设我们有以下的交换机和队列配置:

交换机名称:"ums-platform.ex"
队列1名称:"ums.report.queue1"
队列2名称:"ums.report.queue2"

我们使用 “ums.report.routing” 路由键进行路由。

首先,我们需要将队列1和队列2绑定到交换机,同时指定它们的路由键:

@Bean
public Binding binding1(Queue queue1, DirectExchange exchange) {return BindingBuilder.bind(queue1).to(exchange).with("ums.report.routing");
}@Bean
public Binding binding2(Queue queue2, DirectExchange exchange) {return BindingBuilder.bind(queue2).to(exchange).with("ums.report.routing");
}

在上述代码中,binding1 方法将队列1绑定到交换机,并使用 “ums.report.routing” 路由键进行绑定。同样,binding2 方法将队列2绑定到交换机,并使用相同的路由键进行绑定。

然后,我们可以通过以下方式发送消息到交换机,并使用 “ums.report.routing” 路由键进行路由:

rabbitTemplate.convertAndSend("ums-platform.ex", "ums.report.routing", message);

在上述代码中,我们使用 rabbitTemplate.convertAndSend() 方法将 message 消息发送到交换机 “ums-platform.ex”,并指定路由键为 “ums.report.routing”。

根据上述配置和代码,如果消息发送成功,RabbitMQ 将根据路由键 “ums.report.routing” 将该消息路由到与之匹配的队列。在我们的示例中,消息将被路由到队列1和队列2。

请注意,这只是一个示例,实际使用时您需要确保正确设置交换机、队列以及它们之间的绑定关系,并且确保消费者正确监听相应的队列以接收消息。

http://www.lryc.cn/news/216947.html

相关文章:

  • 【python基础】python切片—如何理解[-1:],[:-1],[::-1]的用法
  • 剑指JUC原理-9.Java无锁模型
  • 汽车托运使用的场景
  • 机器学习 - 加油站数据分析
  • 基于CMFB余弦调制滤波器组的频谱响应matlab仿真
  • helm一键部署grafana
  • pytorch复现_NMS
  • 备份doris数据到minio
  • Linux中正则表达式等
  • 记一次并发问题 Synchronized 失效
  • 手机平板摄像头如何给电脑用来开视频会议
  • windows docker desktop 更换镜像 加速
  • linux下多机器ssh免密码登录配置
  • 【IDEA使用maven package时,出现依赖不存在以及无法从仓库获取本地依赖的问题】
  • Flink 统计接入的数据量-滚动窗口和状态的使用
  • SpringBoot快速整合canal1.1.5(TCP模式)
  • docker打包container成image,然后将image上传到docker hub
  • 设计模式—创建型模式之原型模式
  • Zygote进程通信为什么用Socket而不是Binder?
  • API接口加密,解决自动化中登录问题
  • COCOS2DX3.17.2 Android升级targetSDK30问题解决方案
  • HarmonyOS鸿蒙原生应用开发设计- 隐私声明
  • 【面试精选】00后卷王带你三天刷完软件测试面试八股文
  • k-means算法c++实现
  • oracle查询哪些用户下有表
  • 机器人连杆惯量参数辨识(估计)
  • 一座 “数智桥梁”,华为助力“天堑变通途”
  • C#知识总结 基础篇(上)
  • 照片编辑软件Affinity Photo 2 for Mac v2.1.1中文激活版 2024年最新中文版下载
  • TPAMI 2023 | Temporal Perceiver:通用时序边界检测方法