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);
}
复制代码
相关推荐
TimberWill7 小时前
SpringBoot整合Srping Security实现权限控制
java·spring boot·后端
q***765616 小时前
工作中常用springboot启动后执行的方法
java·spring boot·后端
only-qi18 小时前
Spring Boot 异步任务深度解析:从入门到避坑指南
java·spring boot·线程池·async
草履虫建模18 小时前
Java面试应对思路和题库
java·jvm·spring boot·分布式·spring cloud·面试·mybatis
java1234_小锋19 小时前
分享一套优质的SpringBoot4+Vue3学生信息管理系统
java·vue.js·spring boot·学生信息
Hx_Ma1619 小时前
Springboot整合mybatis配置文件
spring boot·后端·mybatis
人道领域19 小时前
Maven多模块开发:高效构建复杂项目
java·开发语言·spring boot·maven
前路不黑暗@20 小时前
Java项目:Java脚手架项目的通用组件的封装(七)
java·开发语言·spring boot·后端·学习·spring cloud·maven
xj1986031920 小时前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu