对于最新稳定版本,请使用Spring for Apache Kafka 4.0.4spring-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);

正如您所见,您需要知道要检索的记录的分区和偏移量;每次操作都会创建(并在操作完成后关闭)一个新的 Consumerspring-doc.cadn.net.cn

使用最后两种方法时,每个记录都会单独检索,然后将结果组装成一个 ConsumerRecords 对象。 在为请求创建 TopicPartitionOffsets 时,仅支持正的绝对偏移量。spring-doc.cadn.net.cn