我正在使用 spring-kafka 和 spring-kafka-test 版本 1.0.2.RELEASE。
在我的一个测试中,我的应用程序使用 KafkaTemplate 和大多数默认配置设置连续发送 100 条记录到 EmbeddedKafka 实例上的单个 TopicPartion。
我使用 KafkaTestUtils.getRecords(consumer) 方法尝试从 Kafka 实例中获取记录并验证它们是否已全部发送。
第一次调用 getRecords 时,我只收到一条记录。如果我再次调用它,我会得到另一个 99。
如果我明确地将消费者的位置设置为 TopicPartition 的开头,然后调用 getRecords,我会得到全部 100。
为什么 getRecords 第一次只能得到一条记录?有没有更好的方法来一次获得所有 100 个,然后通过显式调用消费者的 seekToBeginning ?