首页 > 解决方案 > 启动所有侦听器后的 Spring Kafka 事件

问题描述

我正在使用 Spring-Kakfa 连接 kakfa 集群,并且我需要在分配所有主题的所有主题分区后执行一段代码。以下面的代码为例

     @Component
     public class MyKafkaMessageListener1 {
    
         @KafkaListener(topics = "topic1" , groupId = "cg1")
         public void handleMessage(String message){
               System.out.println("Msg:"+message);
         }
     }

     @Component
     public class MyKafkaMessageListener2 {
    
         @KafkaListener(topics = "topic2, topic3" , groupId = "cg2")
         public void handleMessage(String message){
               System.out.println("Msg:"+message);
         }
     }

在将 topic1、topic2 和 topic3 的所有主题分区分配给线程后,我需要执行。可能吗?kafka或spring-kafka中是否有这样的EventHandler?

标签: javaapache-kafkaspring-kafka

解决方案


实施ConsumerSeekAware(或扩展AbstractConsumerSeekAware),或添加一个ConsumerRebalanceListener,您将收到对onPartitionsAssigned().


推荐阅读