0


kafka @KafkaListener 动态接收topic

@KafkaListener 里边的 topics 必须是常量,不可以是变量

但是某些业务场景 kafka定义的topic会不同这时候就需要传入变量才可以实现

具体实现方式如下:

KafkaListener 监听方法 #{} 这里边是方法名称

这里是获取topic 其实可以在对应的@Bean里边写逻辑方法去处理

这里用到了获取配置文件的信息因为@value跟@Bean在同一个文件里会先执行@value

这里是对应的topic 提前定义好的

2、上边是其中一种实现方法,但是对于有些场景依然不能够满足,可以用下边的方式来实现

这里kafkaConfigBaseService 是一个类,但是注意这里的首字母一定要小写,大写的话会找不到类,kafkaTopicConfigAutoStartup 这个为类里边具体的方法名称()里边是对应的参数

这样通过SPEL表达式就可以在项目启动的时候加载这个方法,可以通过逻辑来获取到对应的tipic

在service里,可以用@Value来读取配置里边的信息,也可以通过查询数据库来获取

标签: kafka 分布式

本文转载自: https://blog.csdn.net/weixin_42726306/article/details/130617667
版权归原作者 叫三石 所有, 如有侵权,请联系我们删除。

“kafka @KafkaListener 动态接收topic”的评论:

还没有评论