KafkaTemplate を使用した受信

このセクションでは、KafkaTemplate を使用してメッセージを受信する方法について説明します。

バージョン 2.8 以降、テンプレートには 4 つの 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 が作成(およびクローズ)されます。

最後の 2 つの方法では、各レコードが個別に取得され、結果が ConsumerRecords オブジェクトにアセンブルされます。リクエストの TopicPartitionOffset を作成する場合、正の絶対オフセットのみがサポートされます。