在消息队列kafka多消费者组消费同一Topic场景下的idea调试debug断点进不去的解决方案

1. 问题场景复现

不同类型的消息发到同一个Topic中,设置多个消费者组,为每个消费者组打一个标记。每一种消费者组只能消费对应的消息类型。这样做的好处是避免设置多个Topic,简化代码开发的同时性能损耗小。问题出现在消费端,由于多个消费者组对象随着项目初始化而初始化,导致了你的断点不一定能准确打在对应的消费者上,出现的问题就是进不去断点。

2. 解决思路

你在生产者端发送一条消息进入到kafka消息队列,重点来了,被@KafkaListener修饰的消费者代码肯定能捕获这一条消息,但是这条消息的类型标识和这个消费者组的类型标识不一定相同,代码逻辑是如果不相同要舍弃这条消息。所以,让断点生效有一个折中的方式,直接在被@KafkaListener修饰的代码中将消费者组的类型写固定。但是一定要记得调试完断点以后再改回来。

相关推荐
见叶之秋4 小时前
C++ 泛型世界的两块拼图:容器适配器与仿函数
java·开发语言
MayBaymax5 小时前
MQ 基础概念与架构
java·中间件·架构·java-rocketmq
Dovis(誓平步青云)5 小时前
家里设备越来越多,如何用一张空间地图控制灯光和温度![
android·java·前端·javascript·人工智能·电脑
yuniko-n5 小时前
【Java】字符串相关坑点
java·开发语言·python
Terra.K5 小时前
Spring AI day1(SSE+AI)
java·人工智能·spring·springai
斑鸠喳喳5 小时前
线程本地存储 ThreadLocal
java·后端
Wang's Blog6 小时前
Java框架 SpringCloud 快速入门: 服务拆分案例 Demo
java·开发语言·spring cloud
DongQiShanRen6 小时前
裁决台账双向互校(上):名册与实物的第一道对账
java·linux·运维·数据库·人工智能·自然语言处理·数据挖掘
cpolar技术支持7 小时前
Spring Boot 接口本地正常,异地前端却报跨域?用 cpolar 跑通 CORS 预检与白名单
java·springboot·cpolar·前后端分离·cors
wuminyu7 小时前
Virtual Thread重投递至ForkJoinPool任务队列过程解析
java·linux·c语言·jvm·c++