Java 如何设置不同的消费群体id';在Spring boot Kafka中的同一消费者工厂bean是什么?

Java 如何设置不同的消费群体id';在Spring boot Kafka中的同一消费者工厂bean是什么?,java,spring-boot,apache-kafka,kafka-consumer-api,spring-kafka,Java,Spring Boot,Apache Kafka,Kafka Consumer Api,Spring Kafka,我想为不同的消费者使用相同的consumerfactory和consumerlistenercontainerfactory。如何在consumerfactory中添加或替换多个groupid 有人能推荐一下吗 这是我的consumerfactory和ConsumerListenerContainerFactorybean @Bean public ConsumerFactory<String, Anky> consumerFactory() { M

我想为不同的消费者使用相同的consumerfactory和consumerlistenercontainerfactory。如何在consumerfactory中添加或替换多个groupid

有人能推荐一下吗

这是我的consumerfactory和ConsumerListenerContainerFactorybean

    @Bean
    public ConsumerFactory<String, Anky> consumerFactory() {

        Map<String, Object> props = kafkaProperties.buildConsumerProperties();

        return new DefaultKafkaConsumerFactory<>(props, new StringDeserializer(),
                new JsonDeserializer<>(Anky.class, false));
    }

    @Bean
    public ConcurrentKafkaListenerContainerFactory<String, Anky> kafkaListenerContainerFactory() {

        ConcurrentKafkaListenerContainerFactory<String, Anky> factory = new ConcurrentKafkaListenerContainerFactory<>();
        factory.setConsumerFactory(consumerFactory());
        factory.getContainerProperties().setAckMode(AckMode.MANUAL_IMMEDIATE);
        factory.setConcurrency(3);
        return factory;
    }

**Group id is defined in the application.properties************
spring.kafka.consumer.group-id=test_consumer_group
@Bean
公共消费者工厂消费者工厂(){
Map props=kafkaProperties.buildConsumerProperties();
返回新的DefaultKafkanConsumerFactory(props,new StringDeserializer(),
新的JsonDeserializer(Anky.class,false));
}
@豆子
公共ConcurrentKafkaListenerContainerFactory kafkaListenerContainerFactory(){
ConcurrentKafkListenerContainerFactory=新ConcurrentKafkListenerContainerFactory();
setConsumerFactory(consumerFactory());
factory.getContainerProperties().setAckMode(AckMode.MANUAL_IMMEDIATE);
工厂设置并发(3);
返回工厂;
}
**组id在application.properties中定义************
spring.kafka.consumer.group id=test\u consumer\u group

我想在这里设置多个消费者GroupID。有办法吗?

您可以在
@KafkaListener

@KafkaListener(id = "consumer1", topics = {"topic1"}, groupId = "group1")
public void consume1(){

}

@KafkaListener(id = "consumer2", topics = {"topic2"}, groupId = "group2")
public void consume2(){

}

还需要在ConsumerFactorybean中设置组id。。。我的问题是,我怎样才能添加超过1个呢?你能告诉我你是如何使用卡夫卡日志的吗?据我所知,您只能在consumer factory中设置一个组ID。告诉我为什么需要设置多个组ID?同一主题中的多个groupid意味着多次读取相同的数据。如果在
@KafkaListener
上未指定
groupid
id
属性,则工厂中的
group.id
仅为默认值。如果要在属性中设置批注,可以在批注上使用
groupId=“${some.group.id}”