此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring for Apache Kafka 3.3.0spring-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为每个作创建 (和 Closed)。spring-doc.cadn.net.cn

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