使用多主题时Kafka抛出InvalidTopicException异常排查
问题分析与解决方案:Spring Kafka多主题监听报错InvalidTopicException
问题根源
你当前的写法错误地将两个主题合并成了单个带逗号的字符串,Kafka会把"topic1,topic2"当作一个完整的主题名称去查找,而这个主题显然不存在,因此抛出InvalidTopicException。
错误代码示例:
@KafkaListener(topics = {"topic1,topic2"}, groupId = "local")
正确写法
要监听多个主题,数组里需要传入两个独立的字符串元素:
@KafkaListener(topics = {"topic1", "topic2"}, groupId = "local")
也可以使用简化写法,直接用逗号分隔主题名称(Spring Kafka会自动拆分):
@KafkaListener(topics = "topic1,topic2", groupId = "local")
补充说明
- 数组形式的
topics参数要求每个主题是独立的字符串元素,不能将多个主题写在同一个字符串内用逗号分隔。 - 直接使用逗号分隔的字符串赋值给
topics是Spring Kafka支持的合法写法,框架会自动处理拆分逻辑。
内容的提问来源于stack exchange,提问作者Timothy Clotworthy
相关产品推荐
相关产品推荐

