最新の安定バージョンについては、Spring for Apache Kafka 4.0.0 を使用してください! |
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 を作成する場合、正の絶対オフセットのみがサポートされます。