gpt4 book ai didi

java - 设置并发> 1后spring kafka thorws InstanceAlreadyExistsException异常

转载 作者:搜寻专家 更新时间:2023-10-31 19:43:25 26 4
gpt4 key购买 nike

我正在使用spring-kafka,如果我不设置ConcurrentKafkaListenerContainerFactory的并发,一切正常,当我将它设置为大于1的数字时,我得到一个异常:

javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=client-3

我的配置:

@Bean
public ConcurrentKafkaListenerContainerFactory<String, String>
kafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<String, String> factory = new
ConcurrentKafkaListenerContainerFactory<String, String>();

factory.setConcurrency(kafkaConfig.getConcurrency());

factory.getContainerProperties().setAckMode(AckMode.MANUAL);
factory.setConsumerFactory(consumerFactory());
return factory;
}

属性:

kafka.enable-auto-commit=false

kafka.client-id=client-1

kafka.concurrency=2

最佳答案

我打开了一个issue for this on github .目前不支持为每个线程设置不同的 client.id

作为变通方法,您可以为每个启动一个单独的 KafkaMessageListenerContainer(这是 ConcurrentMessageListenerContainer 在内部执行的操作)。

编辑

虽然不理想,但您可以省略client.id,kafka客户端会为每个生成一个(consumer-1consumer-2等)

关于java - 设置并发> 1后spring kafka thorws InstanceAlreadyExistsException异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43601004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com