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

1. 问题场景复现

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

2. 解决思路

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

相关推荐
努力攻坚操作系统3 分钟前
编程语言编译运行机制对比:C / Java / Python
java·c语言·python
慧一居士5 分钟前
对比两个文件内容是否完全一致,java实现示例
java
kTR2hD1qb9 分钟前
【无标题】
intellij-idea
再写一行代码就下班20 分钟前
Cursor配置Java环境、创建Spring Boot项目的步骤
java·开发语言·spring boot
摇滚侠24 分钟前
Java 零基础全套教程,类的加载过程与类加载器的理解,笔记 189
java·后端·intellij-idea
洛水水33 分钟前
消息队列与Kafka详解
分布式·kafka
kong@react1 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
未若君雅裁1 小时前
JVM 运行时数据区:程序计数器、堆、虚拟机栈与栈帧
java·jvm
凡人叶枫1 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++
摇滚侠1 小时前
JavaSE 和 JavaEE 是什么意思
java·java-ee