Spring Boot中@KafkaListener使用${}动态指定topic

项目场景:

在Spring Kafka中,我们可以使用${}来引用Spring的属性配置。这样我们就可以在不同的环境中重新配置topic名称,而不需要修改代码。


解决方案:

在application.properties或application.yml中定义topic名称:

java 复制代码
# application.properties
kafka.topic=myTopic

然后在你的代码中使用${}来引用这个属性:

java 复制代码
@KafkaListener(topics = "${kafka.topic}")
public void listen(String message) {
    System.out.println("Received message in topic : " + message);
}

如果你使用的是多个topic,你可以使用;来分割多个topic名称:

java 复制代码
# application.properties
kafka.topics=topic1;topic2;topic3

然后在你的代码中使用${}来引用这个属性:

java 复制代码
@KafkaListener(topics = "${kafka.topics}")
public void listen(String message) {
    System.out.println("Received message in topic : " + message);
}
复制代码
相关推荐
哈哈老师啊1 小时前
Springboot基于双减政策的家校互动管理系统8e613(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
梵得儿SHI2 小时前
SpringCloud - 核心组件精讲:Nacos 深度解析(服务注册 + 配置中心一站式实现)
java·spring boot·spring cloud·nacos·微服务架构的核心组件·服务注册发现与配置管理·nacos的核心原理与实战应用
不如打代码KK2 小时前
Java SPI与Spring Boot SPI的区别
java·开发语言·spring boot
柯南二号2 小时前
【后端】【Java】可直接落地的 Nginx + Java(Spring Boot)+ Redis 的短链系统实现
java·spring boot·nginx
Q_Q5110082853 小时前
python+springboot+django/flask基于深度学习的音乐推荐系统
spring boot·python·django·flask·node.js·php
Q_Q5110082853 小时前
python+springboot+django/flask基于深度学习的淘宝用户购物可视化与行为预测系统
spring boot·python·django·flask·node.js·php
古城小栈4 小时前
Spring Boot 4.0 虚拟线程启用配置与性能测试全解析
spring boot·后端·python
松莫莫4 小时前
Spring Boot 整合 MQTT 全流程详解(Windows 环境)—— 从 Mosquitto 安装到消息收发实战
windows·spring boot·后端·mqtt·学习
a程序小傲4 小时前
美团二面:KAFKA能保证顺序读顺序写吗?
java·分布式·后端·kafka
计算机毕设指导64 小时前
基于微信小程序的宠物走失信息管理系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·宠物