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);
}
复制代码
相关推荐
steel808816 小时前
SSM与Springboot是什么关系? -----区别与联系
java·spring boot·后端
草履虫建模16 小时前
面试常问 SQL 优化八股文总结:慢查询、索引失效、回表、覆盖索引一次搞懂
java·数据库·spring boot·sql·面试·职场和发展·数据库架构
旷世奇才李先生16 小时前
043校园二手交易平台系统-springboot+vue
java·vue.js·spring boot
⑩-16 小时前
SaaS-Admin-项目场景题
java·数据库·spring boot
vx-程序开发16 小时前
springboot具备推荐和预警机制的大学生兼职平台的设计与实现-计算机毕业设计源码17157
java·c++·spring boot·python·spring·django·php
qq_124987075317 小时前
基于springboot的驾校预约管理小程序(源码+论文+部署+安装)
spring boot·微信小程序·小程序·毕业设计·计算机毕业设计·毕业设计源码
常利兵17 小时前
Spring Boot接口版本控制:解锁API优雅升级姿势
spring boot·后端·状态模式
常利兵17 小时前
Spring Boot文件访问安全:筑牢数据防线,让漏洞无处遁形
spring boot·后端·安全
xiaogg367818 小时前
springboot3+vue3+elementPlus+minio8.2 大文件分片上传
java·spring boot·spring
想不明白的过度思考者18 小时前
【MyBatis 知识点解析】#{} 与 ${} 的区别及 SQL 注入实战演示
java·数据库·spring boot·sql·mybatis