spring-kafka および spring-kafka-test バージョン 1.0.2.RELEASE を使用しています。
私のテストの 1 つで、私のアプリケーションは、KafkaTemplate とほとんどデフォルトの構成設定を使用して、EmbeddedKafka インスタンスの単一の TopicPartion に 100 レコードを連続して送信します。
KafkaTestUtils.getRecords(consumer) メソッドを使用して、Kafka インスタンスからレコードを取得し、それらがすべて送信されたことを確認します。
初めて getRecords を呼び出したとき、1 つのレコードしか受け取りません。もう一度呼び出すと、残りの 99 が得られます。
コンシューマーの位置を TopicPartition の先頭に明示的に設定してから getRecords を呼び出すと、すべて 100 になります。
getRecords が最初に 1 つのレコードしか取得しないのはなぜですか? コンシューマーで seekToBeginning を明示的に呼び出して、一度に 100 個すべてを取得するより良い方法はありますか?