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

05、SpringBoot 集成 RocketMQ

目录

  • SpringBoot集成RocketMQ
    • 消息发送三种方式
      • 1、同步消息
        • producer-springboot
          • 创建项目
          • 添加依赖
          • 配置文件
          • 同步消息发送代码
          • 启动类
          • Test类
        • comsumer-springboot
          • 创建项目
          • 添加依赖
          • 配置文件
          • 同步消息消费代码
      • 2、异步消息
        • 生产者
        • 消费者
      • 3、一次性消息
        • 生产者
        • 消费者
    • 消息消费两种方式
      • 1、集群模式
        • 生产者:
        • 消费者:
      • 2、广播模式
        • 生产者
        • 消费者
    • 顺序消息
      • 生产者
        • 问题:
      • 消费者:
    • 延迟消息
      • 生产者:
      • 消费者:
    • 消息过滤
      • 1、Tag标签过滤
        • 生产者:
        • 消费者:
      • 2、SQL92过滤
        • 生产者:
        • 消费者:
    • 消费状态

SpringBoot集成RocketMQ

消息发送三种方式

1、同步消息

producer-springboot
创建项目

也是创建一个maven项目,添加对应的依赖就是boot项目了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

添加依赖

在这里插入图片描述

    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.14.RELEASE</version><relativePath/></parent><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.0.4</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
配置文件

application.properties

在这里插入图片描述

同步消息发送代码
启动类

在这里插入图片描述

Test类

因为没有用web来启动,所以我们来写个测试类就可以了

在这里插入图片描述

效果:已经成功发送消息到消息中间件

在这里插入图片描述
在这里插入图片描述

comsumer-springboot
创建项目

在这里插入图片描述

在这里插入图片描述

添加依赖

和生产者的依赖差不多

在这里插入图片描述

配置文件

只需要nameserver地址就可以,知道去哪里消费

在这里插入图片描述

同步消息消费代码

在这里插入图片描述

2、异步消息

生产者

在这里插入图片描述

消费者

消费者代码没变化,正常消费

在这里插入图片描述

3、一次性消息

生产者

就是调用方法而已,没有什么区别
在这里插入图片描述

消费者

都是同样的消费代码,不需要改变

在这里插入图片描述

消息消费两种方式

1、集群模式

开两个消费启动

在这里插入图片描述

在这里插入图片描述

生产者:

在这里插入图片描述

消费者:

集群模式的每个消费者,均衡分配消息进行消费

在这里插入图片描述
均衡分配

在这里插入图片描述

在这里插入图片描述

2、广播模式

每个消费者都能消费到同样的所有消息

生产者

在这里插入图片描述

消费者

在这里插入图片描述

顺序消息

加点基础数据

在这里插入图片描述

在这里插入图片描述

生产者

在这里插入图片描述

问题:

在这里插入图片描述

解答:

执行rocketMQTemplate.sendOneWayOrderly()这个发送消息的方法的时候,才会调用到这个rocketMQTemplate.setMessageQueueSelector()这个setxxx方法。

在这里插入图片描述

消费者:

注解上加个顺序消费的参数就可以了

在这里插入图片描述

多个结果都是按顺序消费的====创建–付款–完成–推送

在这里插入图片描述

延迟消息

生产者:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

消费者:

在这里插入图片描述

如图:

第一次需要创建topic需要时间,所以假设延迟10秒,第一条消费的时间,因为要创建topic,所以会大于10秒,后面的其他消息就会稳定在10秒。

经自己测试,后面的其他延迟消息,会上下浮动1秒。

在这里插入图片描述

消息转string的其他方法,试下有没有用,没有用

在这里插入图片描述
在这里插入图片描述

消息过滤

1、Tag标签过滤

生产者:

在这里插入图片描述
在这里插入图片描述

消费者:

在这里插入图片描述

在这里插入图片描述

2、SQL92过滤

生产者:

在这里插入图片描述
在这里插入图片描述

消费者:

在这里插入图片描述

消费状态

在这里插入图片描述

相关文章:

05、SpringBoot 集成 RocketMQ

目录 SpringBoot集成RocketMQ消息发送三种方式1、同步消息producer-springboot创建项目添加依赖配置文件同步消息发送代码启动类Test类 comsumer-springboot创建项目添加依赖配置文件同步消息消费代码 2、异步消息生产者消费者 3、一次性消息生产者消费者 消息消费两种方式1、集…...

PR2023中如何导入字幕

PR中如何导入字幕 方法一&#xff1a; 点开文本&#xff0c;字幕&#xff0c;新建字幕分段&#xff08;点击右上角…三个点&#xff09; 键入调整内容 方法二 点开基本图形&#xff0c;编辑&#xff0c;调整&#xff0c;拖动位置。...

读书笔记--华为数据之道有感

通过研读华为数据之道,了解到华为作为一家非数字原生企业,其业务涵盖研发、营销、制造、供应、采购、服务等,业务相当复杂。因此华为在开展数据治理过程中明确了由谁来对数据负责,特别是对数据质量负责,明确了数据质量的衡量或度量指标,并成立了数据管理部,确定其职能定…...

汽车数据安全事件频发,用户如何保护隐私信息?

面对日益增多的汽车数据安全事件&#xff0c;对于广大用户来说&#xff0c;有没有既廉价又安全的解决方案&#xff1f; 频发的汽车数据安全事件 随着汽车“新四化”大潮的来临&#xff0c;汽车用户从电动化、网联化、智能化、共享化中切实体验到了越来越多的便利&#xff0c;各…...

Redis主从复制流程

前言 Redis 支持部署多节点&#xff0c;然后按照 1:n 的方式构建主从集群&#xff0c;即一个主库、n 个从库。主从库之间会自动进行数据同步&#xff0c;但是只有主库同时允许读写&#xff0c;从库只允许读。 搭建主从复制集群的目的&#xff1a; 从库可用于容灾备份从库可以…...

微信公众号如何变更为订阅号?

公众号迁移有什么作用&#xff1f;只能变更主体吗&#xff1f;大家都知道&#xff0c;微信公众号是不支持直接变更主体的&#xff1b;但是很多情况下&#xff0c;我们又不得不进行账号主体的更换&#xff1b;这时候&#xff0c;我么就可以通过账号迁移功能&#xff0c;将A公众号…...

竞赛选题 深度学习YOLO抽烟行为检测 - python opencv

文章目录 1 前言1 课题背景2 实现效果3 Yolov5算法3.1 简介3.2 相关技术 4 数据集处理及实验5 部分核心代码6 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于深度学习YOLO抽烟行为检测 该项目较为新颖&#xff0c;适合作为竞赛课…...

mysql利用mysqldump方式搭建主从

背景&#xff1a;线上环境在主库不停服的情况下&#xff0c;利用mysqldump的方式搭建从库。 建议&#xff1a;在主库比较小的情况下&#xff08;个人建议50G左右&#xff09;&#xff0c;主库不停服可以利用mysqldump搭建从库。如果主库很大&#xff0c;建议利用mysql热备份工…...

如何保护IP在线隐私,提高网络安全?

在数字时代&#xff0c;我们的在线IP隐私面临着越来越多的威胁。黑客、广告商和第三方机构都试图获取我们的个人信息和浏览习惯。因此&#xff0c;保护您的在线IP隐私至关重要。本文将介绍一些简单但有效的方法&#xff0c;帮助您保护自己的隐私。 使用防关联浏览器&#xff1a…...

掌握 C++ 编译过程:面试中常见问题解析

C是一种高级编程语言&#xff0c;但是计算机并不能直接理解它。因此&#xff0c;需要将C代码翻译成计算机可以理解的机器语言。这个过程就是编译过程&#xff0c;是C程序从源代码到可执行文件的转换过程&#xff0c;包括预处理、编译、汇编和链接四个阶段 预处理 在编译器开始…...

了解Qt QScreen的geometry ,size

目的 了解qt 对于屏幕的size&#xff0c; geometry含义&#xff0c; 更能有效实现最大化&#xff0c; 向下还原逻辑操作 Test 目前我有两个屏 &#xff0c;1920x1080&#xff0c; 3840*2160. 检测当前程序所在screen&#xff08;1920x1080&#xff09;下属性 int screenNum…...

云安全—云计算基础

0x00 前言 学习云安全&#xff0c;那么必然要对云计算相关的内容进行学习和了解&#xff0c;所以云安全会分为两个部分来进行&#xff0c;首先是云计算先关的内容。 0x01 云计算 广泛传播 云计算最早大范围传播是2006年&#xff0c;8月&#xff0c;在圣何塞【1】举办的SES&a…...

【ARM Coresight Debug 系列 16 -- Linux 断点 BRK 中断使用详细介绍】

文章目录 1.1 ARM BRK 指令1.2 BRK 立即数宏定义介绍1.3 断点异常处理流程1.3.1 el1_sync_handler1.3.2 el1_dbg 跟踪 1.4 debug 异常处理函数注册1.4.1 brk 处理函数的注册 1.1 ARM BRK 指令 ARMv8 架构的 BRK 指令是用于生成一个软件断点的。当处理器执行到 BRK 指令时&…...

Rust星号(*)的作用-基础篇

在Rust中&#xff0c;*符号具有多种不同的用途&#xff0c;具体取决于它的使用方式。以下是Rust中*常见的用法. 1.解引用指针 当作为一元运算符放在指针变量之前时&#xff0c;*用于解引用指针并访问它指向的值。在Rust中&#xff0c;通常更推荐使用引用而不是原始指针。引用…...

企业该如何选择数字化转型工具?

对于希望在当今快速发展的商业环境中增强运营、提高效率并保持竞争力的公司来说&#xff0c;选择正确的数字化转型工具是一项关键决策。以下是选择数字化转型工具的关键步骤和注意事项&#xff1a; 1.定义业务目标&#xff1a; 清楚地阐明您的业务目的和目标。了解您希望通过数…...

element ui 中 el-button重新渲染后disabled属性失效

调试发现:disabled绑定的值和显示没有保持一致&#xff0c;发现是disabled属性失效 解决方式&#xff1a; 给标签添加key 比如&#xff1a;key“isOldVersion” <el-form-item><el-button type"primary" style"margin-left: 100px;" click"…...

WebRTC AIMD算法用处

WebRTC使用AIMD&#xff08;Additive Increase Multiplicative Decrease&#xff09;算法来进行码率控制。 在WebRTC中&#xff0c;码率控制的目标是优化音视频传输的质量和稳定性&#xff0c;以适应网络状况的变化。具体而言&#xff0c;AIMD算法通过监测网络的拥塞情况&…...

迁移kubelet、docker和containerd工作目录

文章目录 问题背景迁移Docker停止 Docker 服务修改配置移动文件重新启动 Docker 服务 containerd停止服务修改配置移动文件重新启动服务 kubelet&#xff08;遇到问题待解决&#xff09;停止服务修改配置移动文件&#xff08;遇到问题待解决&#xff09;重新启动服务 使用的版本…...

Go 重构:尽量避免使用 else、break 和 continue

今天&#xff0c;我想谈谈相当简单的事情。我不会发明什么&#xff0c;但我在生产代码中经常看到这样的事情&#xff0c;所以我不能回避这个话题。 我经常要解开多个复杂的 if else 结构。多余的缩进、过多的逻辑只会加深理解。首先&#xff0c;这篇文章的主要目的是让代码更透…...

Unity3D 程序员常用的核心类及方法详解

Unity3D是一款强大的游戏引擎&#xff0c;广泛应用于游戏开发领域。作为Unity3D程序员&#xff0c;掌握常用的核心类及方法是非常重要的。本文将详细介绍Unity3D中程序员常用的核心类及方法&#xff0c;并给出代码实现。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...