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打印的效果如下:
在这里插入图片描述

你可能感兴趣的:(springboot+kafka中@KafkaListener如何动态指定多个topic)