Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使Kafka ConcurrentMessageListenerContainer批量工作_Java_Apache Kafka_Kafka Consumer Api_Spring Kafka - Fatal编程技术网

Java 使Kafka ConcurrentMessageListenerContainer批量工作

Java 使Kafka ConcurrentMessageListenerContainer批量工作,java,apache-kafka,kafka-consumer-api,spring-kafka,Java,Apache Kafka,Kafka Consumer Api,Spring Kafka,在我的应用程序中,为了不使用@KafkaListener注释,我创建了自己的自定义侦听器。我配置为在一个记录到一个记录库中侦听消息。这是有效的。现在,我想将我的自定义侦听器转换为批量侦听消息。我是否应该将ConsumerConfig.MAX_POLL_RECORDS_CONFIG配置为每次轮询要处理的消息量?我还将我的确认模式更改为批处理。这就是我需要做的吗 我知道ConcurrentKafkaListenerContainerFactory具有属性“setBatchListener(true)

在我的应用程序中,为了不使用@KafkaListener注释,我创建了自己的自定义侦听器。我配置为在一个记录到一个记录库中侦听消息。这是有效的。现在,我想将我的自定义侦听器转换为批量侦听消息。我是否应该将ConsumerConfig.MAX_POLL_RECORDS_CONFIG配置为每次轮询要处理的消息量?我还将我的确认模式更改为批处理。这就是我需要做的吗

我知道ConcurrentKafkaListenerContainerFactory具有属性“setBatchListener(true)”,但就我对Kafka文档的理解而言,这种工厂配置仅与@KafkaListener注释一起使用


任何帮助都将不胜感激。

只需将您的侦听器更改为实现
BatchMessageListener
或其子接口之一即可。容器将自动检测其类型


@KafkaListener
代码使用工厂标志来确定要创建哪种类型的侦听器适配器。

最大轮询记录是一个限制,而不是一个硬数字;您可能仍然需要增加poll timeoutPerfect。谢谢你@GaryRussell,这就是我正在做的。除了ConsumerConfig.MAX\u poll\u RECORDS\u CONFIG之外,是否还有其他方法设置轮询大小?这是一个最大值;您将获得最多该数量的记录;没有
MIN\u POLL\u RECORDS\u CONFIG
-您只能使用和大致控制最小值。