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

SAP查询字段定义的字符数

用户常会问到“***的文本描述可以输入多少个字符”。 操作步骤&#xff1a; 输入事物代码&#xff1a;SE11就能看到字段配置的字符数量。如何获得表名称&#xff1a;&#xff08;OBB8举例&#xff09; 操作步骤&#xff1a; 输入事物代码&#xff1a;OBB8...

5分钟快速上手:Translumo终极免费实时屏幕翻译工具完整指南

5分钟快速上手&#xff1a;Translumo终极免费实时屏幕翻译工具完整指南 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 想…...

C#上位机开发工业机器人:从零搭建第一个机器人控制程序

作为一名在工控行业摸爬滚打了十年的老工程师,我见过太多自动化工程师卡在"机器人上位机开发"这一关。很多人C#基础不错,也懂机器人原理,但就是不知道怎么把两者结合起来,写出一个能在生产环境运行的控制程序。 今天这篇文章,我会带着你从零开始,搭建一个完整…...

座机号码认证支持哪些机型?固话企业认证覆盖华为/小米/OPPO/vivo等手机

很多做业务的朋友都有这种体会&#xff1a;好不容易联系到一个精准意向客户&#xff0c;电话拨过去&#xff0c;还没等开口&#xff0c;对方直接挂断。更有甚者&#xff0c;手机屏幕上赫然跳出“疑似推销”四个大字。现在的职场沟通&#xff0c;信任成本高得离谱。如果你还指望…...

寒战1994电影完整版免费看,网盘在线观看完整版

寒战1994电影完整版免费看&#xff0c;转存到自己网盘后&#xff0c;可以网盘在线观看完整版链接:https://pan.baidu.com/s/1U7-U0Csp2BCc9NYXEHuQZw ​ 提取码:8888操作方法&#xff1a;复制链接&#xff0c;打开百度网盘&#xff0c;便会自动跳转&#xff0c;转存到自己网盘就…...

快速上手3DGS数字孪生开发:一份必做的技术动作盘点清单

一、行业核心技术科普&#xff1a;3DGS数字孪生开发的关键技术节点从零开始构建一个基于3D高斯泼溅&#xff08;3DGS&#xff09;的数字孪生应用&#xff0c;涉及多个关键技术节点。每个节点的执行质量&#xff0c;都直接影响最终应用的性能与用户体验。其域创新推出的LCC格式&…...

标题:【2026 最全】CTF 零基础入门指南|小白必看,一篇封神!

前言 CTF&#xff08;Capture The Flag&#xff09;中文一般译作夺旗赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。发展至今&#xff0c;已经成为全球范围网络安全圈流行的竞赛形式&#xff0c;而DEFCON作为CTF赛制的发源地&#xf…...

别再凭感觉布线了!用ADS仿真手把手教你搞定PCB信号完整性的5种端接方案

高速PCB设计实战&#xff1a;5种端接方案在ADS中的精准仿真与选型指南 当你在深夜盯着示波器上扭曲的方波和顽固的振铃时&#xff0c;是否曾怀疑过自己的PCB设计生涯&#xff1f;信号完整性不是玄学&#xff0c;而是一门可以通过仿真精确控制的工程艺术。本文将用Keysight ADS&…...

红外图像/红外遥感图像/可见光红外图像对 近红外和可见光成对图像 生成对抗网络的风格迁移,或者图像融合/图像生成/图像转换 可见光遥感生成红外遥感图像,37500对图像数据

红外图像/红外遥感图像/可见光红外图像对 近红外和可见光成对图像 生成对抗网络的风格迁移&#xff0c;或者图像融合/图像生成/图像转换 可见光遥感生成红外遥感图像&#xff0c;37500对图像数据 文章目录**数据集描述&#xff1a;**&#x1f9fe; 项目背景&#x1f9f0; 一、环…...

告别文档踩坑:手把手教你用OkHttp和Gson解析OneNET API返回的复杂JSON数据

告别文档踩坑&#xff1a;手把手教你用OkHttp和Gson解析OneNET API返回的复杂JSON数据 在Android开发中&#xff0c;处理网络请求和JSON数据解析是每个开发者都必须掌握的基本技能。然而&#xff0c;当面对像OneNET这样的物联网平台返回的复杂嵌套JSON结构时&#xff0c;即使是…...