更改要在Spring Kafka中获取的记录数

时间:2018-10-17 11:53:13

标签: spring-boot apache-kafka spring-kafka

我有一个有kafka使用者的spring boot服务。我正在使用spring-kafka创建使用者。

从文档中可以看出,max.poll.records属性将有助于限制要提取的记录数。

但是我的问题是,我想根据其他几种情况来更改max.poll.records的值。

如何使用spring-kafka实现这一目标?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

如果您要在运行时进行更改,则无法完成;在创建消费者时,会将属性发送给Kafka。

要更改它,您必须停止容器,更改属性,然后重新启动容器。您将需要一个自定义的消费者工厂,该工厂将DefaultKafkaConsumerFactory子类化并覆盖

protected KafkaConsumer<K, V> createKafkaConsumer(Map<String, Object> configs) {

在运行时更改属性。