我有两个共享一个公共模块的spring boot应用程序。在该通用模块中,我从ProjectReactor创建了TopicProcessor和Flux
@Bean
public TopicProcessor<?> topicProcessor() {
return TopicProcessor.<?>builder().autoCancel(false).share(true).build();
}
@Bean
public Flux<?> eventFlux(TopicProcessor<?> topicProcessor) {
return topicProcessor.publish().autoConnect();
}
然后,我将TopicProcessor注入两个Spring Boot实例(Spring Boot实例A和Spring Boot实例B)中,并将Flux bean注入其中的一个(Spring Boot实例B)中。
因此,当我从实例B发送事件时,便能够在Flux中接收它。但是,如果我从实例A发送事件,则无法在实例B中接收到事件。
这是因为TopipcProcessor在实例A和实例B中是不同的bean。是否可以在两个实例之间共享该bean?
答案 0 :(得分:2)
不,这是不可能的,仅仅是因为不支持在两个Spring Boot应用程序之间共享bean。