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);
}
复制代码
相关推荐
李慕婉学姐28 分钟前
Springboot养老服务管理系统c0t92vu6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
把你毕设抢过来1 小时前
基于Spring Boot的演唱会购票系统的设计与实现(源码+文档)
java·spring boot·后端
李白的粉1 小时前
基于springboot的桂林旅游景点导游平台
java·spring boot·毕业设计·课程设计·源代码·桂林旅游景点导游平台
qqacj2 小时前
如何使用Spring Boot框架整合Redis:超详细案例教程
spring boot·redis·后端
indexsunny3 小时前
互联网大厂Java面试实录:从Spring Boot到微服务架构的深度剖析
java·spring boot·redis·kafka·microservices·互联网大厂·面试经验
惊讶的猫3 小时前
Springboot 组件注册 条件注解
java·spring boot·后端
爆炒西瓜@3 小时前
springboot内存定位,提取数据库账号密码
数据库·spring boot·后端
zzz84153 小时前
Spring Boot 3.x 引入springdoc-openapi (内置Swagger UI、webmvc-api)
spring boot·后端·ui
茶本无香5 小时前
【无标题】Kafka 系列博文(一):从零认识 Kafka,到底解决了什么问题?
java·分布式·kafka
彭于晏Yan5 小时前
Spring Cloud Security:Oauth2令牌存储
java·spring boot·spring cloud