当前位置: 首页 > 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…...

Windows安卓应用安装终极指南:告别模拟器,三步完成APK直接运行

Windows安卓应用安装终极指南&#xff1a;告别模拟器&#xff0c;三步完成APK直接运行 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows电脑无法直接运行安…...

从炸管到稳定运行:我的MOSFET应用避坑实录(附热设计、驱动电路实测数据)

从炸管到稳定运行&#xff1a;我的MOSFET应用避坑实录 去年夏天&#xff0c;当我设计的48V转12V DC-DC模块第三次在高温测试中炸毁时&#xff0c;实验室里弥漫的焦糊味终于让我意识到&#xff1a;MOSFET的应用远不是选个低Rds(on)就万事大吉。作为从业十年的电源工程师&#x…...

STM32H7/TC397 PTP移植踩坑全记录:从Announce报文HardFault到Linux主机‘clock jumped’警告

STM32H7/TC397 PTP移植实战&#xff1a;从HardFault到时钟同步的深度排错指南 当我在TC397和STM32H7平台上移植PTP协议栈时&#xff0c;原以为只是简单的代码迁移&#xff0c;却意外开启了一场持续两周的"排错马拉松"。从诡异的HardFault到Linux主机不断报出的clock …...

终极指南:3步为Windows 11 LTSC系统快速安装微软商店

终极指南&#xff1a;3步为Windows 11 LTSC系统快速安装微软商店 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore Windows 11 LTSC&#xff08;长期服务…...

Phi-3-mini-4k-instruct-gguf快速部署:7860端口网页服务+独立venv隔离环境实录

Phi-3-mini-4k-instruct-gguf快速部署&#xff1a;7860端口网页服务独立venv隔离环境实录 1. 模型简介 Phi-3-mini-4k-instruct-gguf 是微软 Phi-3 系列中的轻量级文本生成模型 GGUF 版本。这个模型特别适合以下场景&#xff1a; 智能问答文本改写与润色内容摘要生成简短创意…...

汇川PLC与IS620N伺服驱动实战:手把手教你完成EtherCAT网络配置与电机命名

汇川PLC与IS620N伺服驱动深度配置指南&#xff1a;从EtherCAT组态到电机精准控制 在工业自动化领域&#xff0c;伺服系统的稳定性和响应速度直接决定了设备性能的上限。汇川AM600系列PLC搭配IS620N伺服驱动组成的EtherCAT网络&#xff0c;正成为越来越多自动化工程师的首选方案…...

花小钱办大事!微调Nova Lite,实现Pro级视觉检测效果

本文介绍了在Amazon Bedrock上对Amazon Nova Lite 1.0进行微调的两个实际应用案例&#xff0c;展示了在专业计算机视觉任务中&#xff0c;如何在保持成本效益的同时显著提升性能。通过对航拍视角检测和低光照监控场景的系统性评估&#xff0c;本例以最小的训练成本实现了增强的…...

FireRedASR-AED-L本地化教程:国产统信UOS/麒麟系统全兼容部署方案

FireRedASR-AED-L本地化教程&#xff1a;国产统信UOS/麒麟系统全兼容部署方案 提示&#xff1a;本教程已在统信UOS 20、麒麟V10系统完成实测验证&#xff0c;同样适用于Ubuntu、CentOS等Linux发行版 1. 项目简介&#xff1a;为什么选择这个工具&#xff1f; 如果你正在寻找一个…...

Ubuntu下USRP X300 FPGA固件降级实录:从‘need 38 but got 39’报错到完美兼容GNURadio

Ubuntu下USRP X300 FPGA固件降级实战&#xff1a;从版本冲突到完美兼容GNURadio的完整指南 当USRP X300的FPGA固件版本与GNURadio所需的版本不匹配时&#xff0c;终端里那个刺眼的"need 38 but got 39"报错足以让任何软件无线电开发者抓狂。这种版本冲突问题在Ubuntu…...

如何3步完成语雀文档迁移:新手终极免费指南

如何3步完成语雀文档迁移&#xff1a;新手终极免费指南 【免费下载链接】yuque-exporter export yuque to local markdown 项目地址: https://gitcode.com/gh_mirrors/yuq/yuque-exporter 还在为语雀平台策略调整而烦恼吗&#xff1f;担心自己的创作内容无处安放&#x…...