此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring for Apache Kafka 3.3.9spring-doc.cadn.net.cn

KafkaTemplate接收

本节介绍如何使用KafkaTemplate接收消息。spring-doc.cadn.net.cn

从 2.8 版开始,该模板有四个receive()方法:spring-doc.cadn.net.cn

ConsumerRecord<K, V> receive(String topic, int partition, long offset);

ConsumerRecord<K, V> receive(String topic, int partition, long offset, Duration pollTimeout);

ConsumerRecords<K, V> receive(Collection<TopicPartitionOffset> requested);

ConsumerRecords<K, V> receive(Collection<TopicPartitionOffset> requested, Duration pollTimeout);

如您所见,您需要知道需要检索的记录的分区和偏移量;一个新的Consumer为每个作创建(和关闭)。spring-doc.cadn.net.cn

使用最后两种方法,将单独检索每条记录,并将结果组装成ConsumerRecords对象。 创建TopicPartitionOffsets 对于请求,则仅支持正的绝对偏移量。spring-doc.cadn.net.cn