获取消费者 group.id

在多个容器中运行相同的侦听器代码时,确定记录的来源容器(由其 group.id 消费者属性标识)可能很有用。

您可以在侦听器线程上调用 KafkaUtils.getConsumerGroupId() 来执行此操作。或者,您可以在方法参数中访问组 ID。

@KafkaListener(id = "id", topicPattern = "someTopic")
public void listener(@Payload String payload, @Header(KafkaHeaders.GROUP_ID) String groupId) {
    ...
}
这在接收记录 List<?> 的记录侦听器和批处理侦听器中可用。它在接收 ConsumerRecords<?, ?> 参数的批处理侦听器中可用。在这种情况下,请使用 KafkaUtils 机制。