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);
}
复制代码
相关推荐
suaizai_4 小时前
Fastjson高危漏洞紧急修复指南
spring boot
gugucoding11 小时前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
阿里云云原生13 小时前
深入解析存算分离 Kafka:如何实现从 Topic 到 Iceberg Table 的原生入湖?
kafka
宠友信息15 小时前
内容社区源码开发实践解析,用Spring Boot打造1:1仿小红书源码平台
java·spring boot·redis·websocket·mysql·spring·uni-app
Su米苏15 小时前
Redis高级用法
spring boot·redis
paopaokaka_luck15 小时前
基于springboot3+vue3的车间生产管理系统(Echarts图形化分析、BI报表)
java·前端·spring boot·学习·echarts
摇滚侠18 小时前
《SpringBoot 3:入门与应用实战》第 7 章 AOP 思想与实现 阅读笔记 13
java·spring boot·笔记
FYKJ_201019 小时前
springboot网上购书商城---附源码15749
java·spring boot·后端·python·spark·django·php
爱学堂IT分享19 小时前
码神之路-Netty-从零实现RPC框架+SpringBoot实战项目教程
spring boot·网络协议·rpc
evans在进步19 小时前
Spring Boot 启动流程与 @SpringBootApplication 核心原理详解
java·spring boot·后端