我有带有 Kafka 流的 springboot 应用程序,其中我肯定主要的 bean 如下。
@Bean
public StreamsBuilderFactoryBeanCustomizer streamsBuilderFactoryBeanCustomizer(CustomStateListener customStateListener){
return factoryBean -> {
factoryBean.setStateListener(customStateListener);
};
}
@Autowired
public void setStreamsBuilderFactoryBean(StreamsBuilderFactoryBean streamsBuilderFactoryBean) {
this.streamsBuilderFactoryBean = streamsBuilderFactoryBean;
//stateListener is null
}
stateListener 为 null,错过了什么?
那个
StreamsBuilderFactoryBeanCustomizer
bean 稍后会被调用,然后是 setter 上的 @Autowired
。
@EnableKafkaStreams
必须出现在您的其中一门@Configuration
课程中。