@KafkaListener 里边的 topics 必须是常量,不可以是变量
但是某些业务场景 kafka定义的topic会不同这时候就需要传入变量才可以实现
具体实现方式如下:
KafkaListener 监听方法 #{} 这里边是方法名称
这里是获取topic 其实可以在对应的@Bean里边写逻辑方法去处理
这里用到了获取配置文件的信息因为@value跟@Bean在同一个文件里会先执行@value
这里是对应的topic 提前定义好的
2、上边是其中一种实现方法,但是对于有些场景依然不能够满足,可以用下边的方式来实现
这里kafkaConfigBaseService 是一个类,但是注意这里的首字母一定要小写,大写的话会找不到类,kafkaTopicConfigAutoStartup 这个为类里边具体的方法名称()里边是对应的参数
这样通过SPEL表达式就可以在项目启动的时候加载这个方法,可以通过逻辑来获取到对应的tipic
在service里,可以用@Value来读取配置里边的信息,也可以通过查询数据库来获取
文章来源:https://www.toymoban.com/news/detail-639490.html
文章来源地址https://www.toymoban.com/news/detail-639490.html
到了这里,关于kafka @KafkaListener 动态接收topic的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!