让我们说通过执行以下简单代码我们得到如下交换。 kafkaEndpoint的maxPollRecords配置如何影响这一点。执行以下代码后,echange将只有一条来自kafka的消息。 maxPollRecords的默认值为500。
Exchange exchange = kafkaConsumer.receive(kafkaEndpoint, 100);//ConsumerTemplate kafkaConsumer;
使用kafka库时很清楚,因为consumer.poll()会像下面的那样返回
ConsumerRecords<String, String> records = consumer.poll(100);
因此记录中只有500条记录。但是当谈到骆驼卡夫卡这是什么意思?
答案 0 :(得分:0)
选项maxPollRecords
是相同的,它是kafka选项,它可以在Apache Camel和Kafka上的文档中找到它。
另一方面,您使用的API不同,通过Camel ConsumerTemplate的第一个API用于单个交换(也称为消息)消费。所以你得到1条消息。
通常在Camel中设置路由,例如Camel Kafka示例(https://github.com/apache/camel/blob/master/examples/camel-example-kafka/README.adoc),其中路由将根据maxPollRecords
选项默认轮询最多500条消息,然后路由这500条消息在骆驼。