Java 如何创建卡夫卡消费者库来消费多个主题

Java 如何创建卡夫卡消费者库来消费多个主题,java,spring-boot,apache-kafka,Java,Spring Boot,Apache Kafka,我有N个卡夫卡主题,我需要根据业务逻辑使用来自不同主题的消息。我需要处理/过滤它们并将其发送到服务总线。我不想创建N个kafka配置来使用消息。我只想将其作为一个库,在那里我可以简单地外部化属性以选择和配置消费者。这样我就可以将业务逻辑放入我的应用程序中。以前是否有人做过这种实现。请告诉我这种方法的最佳实践 编辑:以下是我的卡夫卡消费者配置: KafkaConsumerConfig.java @配置 公共类卡夫卡消费者配置{ @值(${spring.kafka.consumer.bootstra

我有N个卡夫卡主题,我需要根据业务逻辑使用来自不同主题的消息。我需要处理/过滤它们并将其发送到服务总线。我不想创建N个kafka配置来使用消息。我只想将其作为一个库,在那里我可以简单地外部化属性以选择和配置消费者。这样我就可以将业务逻辑放入我的应用程序中。以前是否有人做过这种实现。请告诉我这种方法的最佳实践

编辑:以下是我的卡夫卡消费者配置:

KafkaConsumerConfig.java

@配置
公共类卡夫卡消费者配置{
@值(${spring.kafka.consumer.bootstrap servers}”)
私有字符串引导服务器;
@值(${spring.kafka.consumer.key反序列化器}”)
私有字符串密钥反序列化器;
@值(${spring.kafka.consumer.Value反序列化程序}”)
私有字符串值反序列化器;
@值(${spring.kafka.consumer.groupid})
私有字符串groupIdConfig;
@值(${spring.kafka.consumer.auto offset reset}”)
私有字符串autoOffsetResetConfig;
@值(${spring.kafka.consumer.client id})
私有字符串clientdconfig;
@豆子
公共卡夫卡接收器(){
返回新的KafkaReceiver();
}
@豆子
公共消费者工厂消费者工厂(){
返回新的DefaultKafkanConsumerFactory(consumerConfigs());
}
@豆子
公共地图使用者配置(){
映射属性=新的HashMap();
put(ConsumerConfig.BOOTSTRAP\u SERVERS\u CONFIG,bootstrapserver);
put(ConsumerConfig.KEY\u反序列化程序\u CLASS\u CONFIG,keyDeserializer);
put(ConsumerConfig.VALUE\u反序列化程序\u CLASS\u CONFIG,valueDeserializer);
put(ConsumerConfig.GROUP\u ID\u CONFIG,groupIdConfig);
put(ConsumerConfig.AUTO\u OFFSET\u RESET\u CONFIG,autoOffsetResetConfig);
归还财产;
}
}

您可以通过一个消费者订阅任意数量的主题

KafkaConsumer#subscribe(Collection<String> topics)
KafkaConsumer#订阅(收藏主题)

我用我为卡夫卡配置编写的代码编辑了这篇文章。你能告诉我如何替换ConsumerFactory使其正常工作吗?你能分享一下你的想法吗?如何将kafkaconsumerconfig变成一个图书馆。所以我可以实现侦听器和我的业务逻辑。
KafkaConsumer#subscribe(Collection<String> topics)