在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);
}
}
谢谢
1条答案
按热度按时间c0vxltue1#
spring将只创建一个工厂bean(从默认配置bean)。对于第二个,您需要定义
StreamsBuilderFactoryBean
它使用它。