|
这个版本仍在开发中,目前尚未被认为是稳定的。要使用最新稳定版本,请使用 Spring for Apache Kafka 4.0.4! |
使用 KafkaTemplate 接收
本部分介绍了如何使用 KafkaTemplate 来接收消息。
从 2.8 版本开始,模板有四个 receive() 方法:
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。
使用最后两种方法时,每个记录都会单独检索,然后将结果组装成一个 ConsumerRecords 对象。
在为请求创建 TopicPartitionOffsets 时,仅支持正的绝对偏移量。