使 Kafka ConcurrentMessageListenerContainer 作为批处理工作
Making Kafka ConcurrentMessageListenerContainer Work as a Batch
在我的应用程序中,我创建了自己的自定义侦听器,以便不使用 @KafkaListener 注释。我配置为收听记录中的消息以记录基地。那是有效的。现在我想转换我的自定义侦听器以批量侦听消息。我是否应该将 ConsumerConfig.MAX_POLL_RECORDS_CONFIG 配置为每次轮询要处理的消息量?我还将我的 AckMode 更改为 BATCH。这就是我需要做的吗?
我知道 ConcurrentKafkaListenerContainerFactory 有 属性“setBatchListener(true)”,但据我了解 Kafka 文档,这种类型的工厂配置仅与 @KafkaListener 注释一起使用。
任何帮助将不胜感激。
只需更改您的侦听器以实施 BatchMessageListener
或其 sub-interfaces 之一。容器将自动检测其类型。
@KafkaListener
代码使用工厂标志来确定要创建哪种类型的侦听器适配器。
在我的应用程序中,我创建了自己的自定义侦听器,以便不使用 @KafkaListener 注释。我配置为收听记录中的消息以记录基地。那是有效的。现在我想转换我的自定义侦听器以批量侦听消息。我是否应该将 ConsumerConfig.MAX_POLL_RECORDS_CONFIG 配置为每次轮询要处理的消息量?我还将我的 AckMode 更改为 BATCH。这就是我需要做的吗?
我知道 ConcurrentKafkaListenerContainerFactory 有 属性“setBatchListener(true)”,但据我了解 Kafka 文档,这种类型的工厂配置仅与 @KafkaListener 注释一起使用。
任何帮助将不胜感激。
只需更改您的侦听器以实施 BatchMessageListener
或其 sub-interfaces 之一。容器将自动检测其类型。
@KafkaListener
代码使用工厂标志来确定要创建哪种类型的侦听器适配器。