SpringBoot中@KafkaListener使用${}动态指定topic问题
更新时间:2024年12月12日 14:22:47 作者:涛哥是个大帅比
在SpringKafka中,使用${}引用Spring属性配置,可以在不同环境中重新配置topic名称,而无需修改代码,在application.properties或application.yml中定义topic名称,并在代码中使用${}引用
项目场景
在Spring Kafka中,我们可以使用${}来引用Spring的属性配置。
这样我们就可以在不同的环境中重新配置topic名称,而不需要修改代码。
解决方案
- 在application.properties或application.yml中定义topic名称:
# application.properties kafka.topic=myTopic
- 然后在你的代码中使用
${}来引用这个属性:
@KafkaListener(topics = "${kafka.topic}")
public void listen(String message) {
System.out.println("Received message in topic : " + message);
}- 如果你使用的是多个topic
- 你可以使用
;来分割多个topic名称:
# application.properties kafka.topics=topic1;topic2;topic3
- 然后在你的代码中使用
${}来引用这个属性:
@KafkaListener(topics = "${kafka.topics}")
public void listen(String message) {
System.out.println("Received message in topic : " + message);
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
详解在Spring Boot框架下使用WebSocket实现消息推送
这篇文章主要介绍了详解在Spring Boot框架下使用WebSocket实现消息推送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2016-12-12


最新评论