发送4条记录:
producer.send(new ProducerRecord<>("my-topic", 0, "key1", "value1"));
producer.send(new ProducerRecord<>("my-topic", 0, "key2", "value2"));
producer.send(new ProducerRecord<>("my-topic", 0, "key3", "value3"));
producer.send(new ProducerRecord<>("my-topic", 0, "key4", "value4"));
使用KafkaTestUtils.getRecords()仅获取第一个发送的记录;
final ConsumerRecords<String, OrderBookViewItem> records = KafkaTestUtils.getRecords(consumer, 10000);
使用consumer.poll()获得全部4;
final Iterable<ConsumerRecord<String, OrderBookViewItem>> records = consumer.poll(1000).records("my-topic");
如何调整KafkaTestUtils以返回所有记录或它是错误?
答案 0 :(得分:1)
它只是返回Kafka在poll()
上给我们的内容,该方法不知道要提取多少记录。
您可以多次调用它,也可以尝试设置使用者属性fetch.min.bytes
和fetch.max.wait.ms
,以便poll()
等待更多数据。
有关这些属性的更多信息,请参见the kafka documentation。