首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Spring中消费Kafka消息

在Spring中消费Kafka消息
EN

Stack Overflow用户
提问于 2018-06-10 02:21:55
回答 1查看 110关注 0票数 1

通过使用这个tutorial,我能够创建一个简单的生产者-消费者示例。在我的示例中,只有一个主题,而我正在收听这个主题。因此,ReceiverConfig中的代码是有意义的。特别是关于GROUP_ID_CONFIG的一点,即我创建了主题topic_name,然后在这个配置中进行了配置。现在我的问题是,如果我有一个以上的主题怎么办。假设我有topic_1topic_2等等?我应该为每个单独的主题创建ReceiverConfig吗?

@EnableKafka
@Configuration
public class ReceiverConfig {
    @Value("${spring.kafka.bootstrap-servers}")
    private String bootstrapServers;

    @Bean
    public Map<String, Object> consumerConfigs() {
        Map<String, Object> props = new HashMap<>();
        props.put(BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
        props.put(KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
        props.put(VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
        props.put(GROUP_ID_CONFIG, "topic_name");
        props.put(AUTO_OFFSET_RESET_CONFIG, "earliest");

        return props;
    }

    @Bean
    public ConsumerFactory<String, String> consumerFactory() {
        return new DefaultKafkaConsumerFactory<>(consumerConfigs());
    }

    @Bean
    public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> kafkaListenerContainerFactory() {
        ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
        factory.setConsumerFactory(consumerFactory());
        return factory;
    }
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50777283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档