spring-kafka从配置文件中读取订阅主题topic,需要将注解值分割成数组

正常的kafka订阅姿势是
@KafkaListener(topics = {“cat,dog”})
假设你在application.properties中定义topicName=cat,dog
然后在程序中使用@KafkaListener(topics = {“${topicName}”})是无法成功订阅的,
应为程序会将cat,log当成一个整体

正确的姿势如下
@KafkaListener(topics = {“#{‘${topicName}’.split(‘,’)}”})

但是这种情况在修改配置后无法自动刷新,需要手动重启服务,但是不需要修改java文件和编译

spring的自动刷新注解@RefreshScope,貌似无效

你可能感兴趣的:(kafka,spring)