springboot+kafka中@KafkaListener如何动态指定多个topic

springboot+kafka中@KafkaListener如何动态指定多个topic

说明:本项目为springboot+kafak的整合项目,故其用了springboot中对kafak的消费注解@KafkaListener

首先,application.properties中配置用逗号隔开的多个topic。


在这里插入图片描述

方法:利用Spring的SpEl表达式,将topics 配置为:@KafkaListener(topics = "#{'${topics}'.split(',')}")


在这里插入图片描述

运行程序,console打印的效果如下:
在这里插入图片描述

因为只开了一条消费者线程,所以所有的topic和分区都分配给这条线程。
如果你想开多条线程去消费这些topic,添加@KafkaListener注解的参数concurrency的值为自己想要的消费者个数即可(注意,消费者数要小于等于你开的所有topic的分区数总和)


在这里插入图片描述

运行程序,console打印的效果如下:
在这里插入图片描述
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容