正常的kafka订阅姿势是
@KafkaListener(topics = {“cat,dog”})
假设你在application.properties中定义topicName=cat,dog
然后在程序中使用@KafkaListener(topics = {“${topicName}”})是无法成功订阅的,
应为程序会将cat,log当成一个整体
正确的姿势如下
@KafkaListener(topics = {“#{‘${topicName}’.split(‘,’)}”})
但是这种情况在修改配置后无法自动刷新,需要手动重启服务,但是不需要修改java文件和编译
spring的自动刷新注解@RefreshScope,貌似无效