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 分钟前
苍穹外卖--day10
java·数据库·spring boot·mybatis·notepad++
Darkdreams2 小时前
SpringBoot项目集成ONLYOFFICE
java·spring boot·后端
bropro2 小时前
【Spring Boot】Spring AOP中的环绕通知
spring boot·后端·spring
lhbian2 小时前
【Spring Cloud Alibaba】基于Spring Boot 3.x 搭建教程
java·spring boot·后端
luom01022 小时前
springcloud springboot nacos版本对应
spring boot·spring·spring cloud
2401_895521345 小时前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
xuboyok25 小时前
【Spring Boot】统一数据返回
java·spring boot·后端
gp3210266 小时前
什么是Spring Boot 应用开发?
java·spring boot·后端
mcooiedo6 小时前
Spring Boot与MyBatis
spring boot·后端·mybatis
惊讶的猫6 小时前
springboot常用注解
java·spring boot·后端