springboot-rocketmq整合NOT_CONSUME_YET问题处理

news2025/1/14 10:45:15

一、测试流程

1.添加POM

    <dependency>
      <groupId>org.apache.rocketmq</groupId>
      <artifactId>rocketmq-spring-boot-starter</artifactId>
        <version>2.2.1</version>
    </dependency>

2.配置属性参数

# 默认的消息组
rocketmq.producer.group=springBootProduceGroup
rocketmq.consumer.topic=DEVICE_CENTER_MSG_DEV
rocketmq.consumer.group=springBootConsumeGroup33

3.添加监听代码

@Service
@RocketMQMessageListener(topic = "${rocketmq.consumer.topic}",consumerGroup ="${rocketmq.consumer.group}",
        selectorExpression = "*",maxReconsumeTimes=2)
public class MsgRecvServiceImpl implements RocketMQListener<MessageExt>, RocketMQPushConsumerLifecycleListener {


    @Override
    public void onMessage(MessageExt messageExt) {
        System.out.printf("messageExt: %s,body:%s \n",messageExt,new String(messageExt.getBody()));
    }

    @Override
    public void prepareStart(DefaultMQPushConsumer consumer) {
        consumer.setConsumeThreadMin(8);
        consumer.setConsumeThreadMax(32);
        consumer.setPullBatchSize(32);

//        consumer.setInstanceName("10.6.33.23@10.6.14.3:9876@33404");

       // consumer.setAllocateMessageQueueStrategy(new );
        System.out.printf(" consumer:%s \n",consumer);
    }
}

二、测试现象

1.问题描述

监听者有时收不到消息。

然后查看消费组配置

发现此主题有4个队列,但是有两个队列没有消息客户端订阅。

三、原因分析

1.原因详细分析

查看消费端负载均衡策略,看到本进程竟然有两个CID客户端在订阅这个TOPIC.

然后我们重启服务,在生成消费客户端实例名的函数断点。

可以看到在自动配置时创建了一个默认的PullConsumer

然后在创建自定义的监听实例时也实例了一个DefaultMQPushConsumer

2.原因总结

是由于springboot-rocketmq-start自动配置里面创建了一个默认的CONSUMER,导致生成了两个CONSUMER,

3.解决方案

因为自动配置是根据rocketmq.consumer.topic,rocketmq.consumer.group来生成的,所以只要在配置文件修改这两个属性的命名即可。

# NameServer地址
rocketmq.name-server=10.6.14.3:9876
# 默认的消息组
rocketmq.producer.group=springBootProduceGroup
rocketmq.device_center_dev_consumer.topic=DEVICE_CENTER_MSG_DEV
rocketmq.device_center_dev_consumer.group=springBootConsumeGroup33

修改完后,消费端负载均衡只找到了一个消费端,

然后查看ROCKETMQ控制台,这个消费客户端也同时消费了4个队列的数据,接收数据正常。

查看消息消费状态,也正常

程序也收到了消息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/190033.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序项目初试总结

微信小程序项目初试总结准备工作注册小程序账号获取AppID下载 微信开发者工具下载 HBuilderX安装 scss/sass 编译HBuilderX 的调试新建项目把项目运行到微信开发者工具使用 Git 管理项目把项目托管到码云模块制作通用tabBar首页分类搜索商品列表商品详情加入购物车购物车页面登…

【手把手教你C#如何使用SqlSugar操作MySQL数据库】三 SqlSugar使用案例

SqlSugar 连接数据库、创建数据表、增删改查用法1.SqlSugar 连接MySQL数据库1.创建数据库2.创建库中的数据表3.数据的插入4.数据的查询5.数据更新6.数据保存7.数据删除2.整体案例脚本代码1.SqlSugar 连接MySQL数据库 1.创建数据库 using SqlSugar; public class DB : Singlet…

Word数据恢复,简单几个方法恢复未保存的Word文档!

日常生活中&#xff0c;我们经常会用到Word文档&#xff0c;里面记录着我们很多重要内容。当遇到电脑死机、没电关机&#xff0c;或者是编辑文档的软件突然崩溃&#xff0c;我们又没有及时保存Word文档里面的数据&#xff0c;这时该怎么办&#xff1f;Word数据恢复&#xff0c;…

[LeetCode]2319. 判断矩阵是否是一个 X 矩阵

如果一个正方形矩阵满足下述 全部 条件&#xff0c;则称之为一个 X 矩阵 &#xff1a; 矩阵对角线上的所有元素都 不是 0矩阵中所有其他元素都是 0 给你一个大小为 n x n 的二维整数数组 grid &#xff0c;表示一个正方形矩阵。如果 grid 是一个 X 矩阵 &#xff0c;返回 true…

VX拜年红包测试用例设计分享

功能测试 1.红包最多可以输入的金额&#xff1b;2.红包一次性可以发送的最大个数3.在输入红包的钱数和个数时只能输入数字4.当余额不足时&#xff0c;红包发送失败5.发送的红包自己是否可以领取6.发送的红包别人是否可以领取7.红包超过 24 小时是否可以领取8.红包超时未领取&a…

刑啊,为什么不刑

前言 你还在为使用浏览器的时候&#xff0c;忘记密码而烦恼吗&#xff1f;今天要分享的不为人知的小技巧&#xff0c;利用前端技术原理来帮助你找回原密码。 在我们使用各种网站登录时&#xff0c;总会勾选上记住密码这一项。 但长时间依赖记住密码&#xff0c;难免有遗忘的情…

CVE-2022-30331-TigerGraph 3.6.0 UDF 功能漏洞分析

TigerGraph UDF 漏洞&#xff1a;详细信息和示例 CVE 参考地址&#xff1a;http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVDCNNVD-202209-215 TigerGraph 图数据库为用户提供了远程上传任意 C 源代码以创建用户定义函数的工具。该代码会自动编译并安装到敏感的系统组件中…

涨薪【20k】的python接口自动化系列文章(一)--什么是接口、接口优势、类型(详解)

简介 经常听别人说接口测试&#xff0c;接口测试自动化&#xff0c;但是你对接口&#xff0c;有多少了解和认识&#xff0c;知道什么是接口吗&#xff1f;它是用来做什么的&#xff0c;测试时候要注意什么&#xff1f;坦白的说&#xff0c;笔者之前也不是很清楚。接下来先看一下…

go 实现抓包 ,盗取浏览器接口信息|反反爬虫

项目地址 https://github.com/kxg3030/shermie-proxy 安装方法 如果有现有的项目可以可安装&#xff1a; go get github.com/kxg3030/shermie-proxy 尝试源码 git clone gitgithub.com:kxg3030/shermie-proxy.git 运行代码 克隆项目下来之后 安装依赖包 go mod tidy 运行程序…

详解注意力机制和Transformer

本文的学习路线&#xff1a; &#x1f4cd; Attention 从生物学的角度引入到计算机视角&#xff0c;介绍了什么是Attention ▶️介绍Encoder-Decoder框架 (目前大部分Attention Model都是依附于该框架实现)▶️ 介绍了Attention模型中的基础概念查询、键和值 ▶️ 通过讲解Nad…

地理坐标系,投影坐标系区别

目录1. 地球的三级逼近1.1 大地水准面1.2 旋转椭球体1.3 参考椭球体2. 地理坐标系&#xff08;大地坐标系&#xff09;2.1 大地基准面2.2 地理坐标系3. 投影坐标系参考1. 地球的三级逼近 1.1 大地水准面 概念 地球的自然状态下其表面并不是连续不断的&#xff0c;高山、悬崖的…

SpringBoot系列 整合MyBatis

数据源 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version> </dependency> yml spring: datasource: type: com.al…

C语言---插入排序(直接插入和希尔)

文章目录前言一、直接插入排序1.简介2.算法思路3.代码实现二、希尔排序1.简介2.算法思路3.代码实现前言 插入排序一般分为两种&#xff0c;一种直接插入排序&#xff0c;另一种则是希尔排序。 一、直接插入排序 1.简介 直接插入排序是一种简单的排序方法&#xff0c;基本操作…

每天一道大厂SQL题【Day02】电商场景TopK统计

每天一道大厂SQL题【Day02】 大家好&#xff0c;我是Maynor。相信大家和我一样&#xff0c;都有一个大厂梦&#xff0c;作为一名资深大数据选手&#xff0c;深知SQL重要性&#xff0c;接下来我准备用100天时间&#xff0c;基于大数据岗面试中的经典SQL题&#xff0c;以每日1题…

数据包络分析DEA(数学建模)

一、模型背景数据包络分析是线性规划模型的应用之一&#xff0c;常被用来衡量拥有相同目标的运营单位的相对效率。数据包络分析是一种基于线性规划的用于评价同类型组织(或项目&#xff09;工作绩效相对有效性的特殊工具手段。这类组织例如学校、医院、银行的分支机构、超市的各…

Qt QRegExp正则表达式

Qt QRegExp正则表达式 前言一、正则表达式是什么?二、元字符是什么?三、 常用表达式四、 在QT中的用法总结前言 在用写程序的时候,往往会用到正则表达式,不仅仅是Web开发,MFC、GTK+、Qt开发的图形界面也是如此,只要了解其原理,语法也都大相径庭! 一、正则表达式是什么…

java ssm智慧校园校医室问诊系统 idea maven

基于JSP技术、SSM框架、B/S机构、Mysql数据库设计并实现了智慧校园校医室问诊系统。系统主要包括个人中心、学生管理、校医管理、药品信息管理、校医科室管理、预检分诊管理、医生推荐管理、预约问诊管理、线上就诊管理、药方信息管理、药品购买管理、系统管理等功能模块。 通过…

nodejs+vue教师资格考前指导系统HTML5

前端&#xff1a;HTML5,CSS3、JavaScript、VUE 设计步骤如下&#xff1a; 1、明确系统的业务流程和数据流程&#xff0c;并用UML画出相应的活动图、顺序图。 2、设计数据字典&#xff0c;明确编码规则。 3、数据库进行设计&#xff0c;建立约束和联系。 4、创建程序框…

2022摄影摄像行业年度分析报告:单反小幅下滑,微单销额增长超32%

近年来&#xff0c;随着人们物质生活水平的提高&#xff0c;智能手机、数码相机等3C数码产品的普及率逐渐提高。人们需求的不断提升也拉动着整个产业产能的迅速增长&#xff0c;与此同时&#xff0c;产品的多样性和使用场景也在不断更新。 根据数据显示&#xff0c;2022年摄影摄…

什么是同理心?如何提高同理心?

有一句非常有名的话&#xff1a;“你永远也不可能真正了解一个人&#xff0c;除非你穿上他的鞋子走来走去&#xff0c;站在他的角度考虑问题。”这句话告诉我们&#xff0c;人与人是存在距离的&#xff0c;要想了解一个人必须要学会换位思考、有同理心。什么是同理心&#xff1…