kafka的spring引导-在一个应用程序中配置多个kafkastreams

wf82jlnq  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(543)

在spring for kafka stream中,我们可以在一个应用程序中定义两个配置吗?如果我们有两个 @Bean 对于配置,像这样,我如何使用 secondConfig 到小溪里去?

@Configuration
@EnableKafkaStreams
public class KafkaStreamConfig {

    @Bean(name = KafkaStreamsDefaultConfiguration.DEFAULT_STREAMS_CONFIG_BEAN_NAME)
    public KafkaStreamsConfiguration kafkaStreamConfig() {
        var props = new HashMap<String, Object>();

        props.put(StreamsConfig.APPLICATION_ID_CONFIG, "kafka-stream");
        props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");

        ....

        return new KafkaStreamsConfiguration(props);
    }

    @Bean(name = "secondConfig")
    public KafkaStreamsConfiguration kafkaStreamConfig() {
        var props = new HashMap<String, Object>();

        props.put(StreamsConfig.APPLICATION_ID_CONFIG, "kafka-stream");
        props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "other-machine:9092");

        ....

        return new KafkaStreamsConfiguration(props);
    }

}

谢谢

c0vxltue

c0vxltue1#

spring将只创建一个工厂bean(从默认配置bean)。对于第二个,您需要定义 StreamsBuilderFactoryBean 它使用它。

相关问题