使用 KafkaTemplate
接收
本節涵蓋如何使用 KafkaTemplate
接收訊息。
從 2.8 版開始,template 具有四個 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
物件。在為請求建立 TopicPartitionOffset
s 時,僅支援正數、絕對偏移量。