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);
}
复制代码
相关推荐
小杜-coding2 分钟前
天机学堂(初始项目)
java·linux·运维·服务器·spring boot·spring·spring cloud
翻滚吧键盘42 分钟前
Spring Boot,注解,@ComponentScan
java·数据库·spring boot
cainiao0806051 小时前
Spring Boot 4.0实战:构建高并发电商系统
java·spring boot·后端
超级无敌永恒暴龙战士2 小时前
SpringBoot-配置Spring MVC
spring boot·spring·mvc
众纳2 小时前
Spring Boot 3.X 下Redis缓存的尝试(一):初步尝试
spring boot·redis·redis 缓存·spring boot 缓存·java redis
酷爱码2 小时前
Spring Boot Starter 自动装配原理全解析:从概念到实践
java·开发语言·spring boot·后端·spring
代码探秘者4 小时前
【JAVA后端入门基础001】Tomcat 是什么?通俗易懂讲清楚!
java·数据结构·数据库·spring boot·后端·mysql·tomcat
考虑考虑5 小时前
Hibernate级联错误
spring boot·后端·spring
汤姆yu5 小时前
基于springboot的运动员健康管理系统
java·spring boot·后端
三两肉7 小时前
Spring Boot 启动流程深度解析:从源码到实践
java·spring boot·后端·启动流程