获取消费者 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 机制。 |