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
を作成する場合、正の絶対オフセットのみがサポートされます。