假设我们通过执行下面的简单代码得到如下交换。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条记录。但说到Kafka,这意味着什么?
1条答案
按热度按时间mspsb9vt1#
选择
maxPollRecords
是相同的,它是kafka选项,它做了您可以在apachecamel和kafka的文档中找到的事情。另一方面,您使用的api是不同的,通过camel consumertemplate的第一个api用于单交换(aka message)消费。所以你得到一条信息。
通常在camel中设置一条路由,例如camel kafka示例(https://github.com/apache/camel/blob/master/examples/camel-example-kafka/readme.adoc)默认情况下,路由将根据
maxPollRecords
选项,然后在camel中路由这500条消息。