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);
}
复制代码
相关推荐
用键盘当武器的秋刀鱼2 小时前
springBoot统一响应类型3.5.1版本
java·spring boot·后端
小李同学_LHY3 小时前
三.微服务架构中的精妙设计:服务注册/服务发现-Eureka
java·spring boot·spring·springcloud
爱喝醋的雷达4 小时前
Spring SpringBoot 细节总结
java·spring boot·spring
嘵奇6 小时前
深入解析 Spring Boot 测试核心注解
java·spring boot·后端
技术liul8 小时前
解决Spring Boot Configuration Annotation Processor not configured
java·spring boot·后端
小马爱打代码9 小时前
Kafka - 消息零丢失实战
分布式·kafka
长河9 小时前
Kafka系列教程 - Kafka 运维 -8
运维·分布式·kafka
腥臭腐朽的日子熠熠生辉10 小时前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
绝顶少年12 小时前
Spring Boot 注解:深度解析与应用场景
java·spring boot·后端
西木风落13 小时前
springboot整合Thymeleaf web开发出现Whitelabel Error Page
spring boot·thymeleaf error·whitelabelerror