spring 即使在增加此配置后,云流 kafka 批处理也不会每 15 分钟消耗一次消息,'fetch.max.wait.ms'

spring cloud stream kafka batch does not consume messages in every 15 minutes even after increasing this config, 'fetch.max.wait.ms'

我想每 15 分钟以批处理模式消费消息。 为此,我设置了这些属性,

spring.cloud.stream.kafka.binder.consumer-properties.max.poll.records=5000000
spring.cloud.stream.kafka.binder.consumer-properties.fetch.max.wait.ms=900000
spring.cloud.stream.kafka.binder.consumer-properties.fetch.min.bytes=500000000

当我在 1000030000 之间设置此 属性 spring.cloud.stream.kafka.binder.consumer-properties.fetch.max.wait.ms 10 秒或 30 秒时,消费消息工作正常。 但是,如果我将 fetch.max.wait.ms 增加到 1 分钟或更长时间,即使等待时间结束,它也不会消耗消息。

我知道默认值为 500 毫秒,但如果我增加它会不会有问题??

以及如何获得所需的行为(消费者在再次消费该批次之前等待 10-15 分钟)??

我可以使用 max.poll.interval.ms 吗?

通过设置这些属性,我能够每 15 分钟使用一次消息。

spring.cloud.stream.kafka.binder.consumer-properties.max.poll.interval.ms=1000000

使用容器 属性.

设置轮询之间的空闲时间
  @Bean
  public ListenerContainerCustomizer<AbstractMessageListenerContainer<?, 
  ?>> customizer() {
    return (container, dest, group) -> 
container.getContainerProperties().setIdleBetweenPolls(idlePollTimeout);

  }