启动是运行弹簧反应器的先决条件吗? 我试图在常规的Web应用程序环境中使用spring reactor。我可以看到反应堆配置已创建。消费者已注册。通知被称为。事件不会被解雇。什么以及如何检查?
配置
@Configuration
@EnableReactor
public class ReactorConfiguration {
@Bean
Environment env() {
return new Environment();
}
@Bean
Reactor createReactor(Environment env) {
return Reactors.reactor().env(env).dispatcher(Environment.THREAD_POOL)
.get();
}
}
注册消费者:
@PostConstruct
public void onStartUp() {
logger.debug("Registering Consumers");
reactor.on(Selectors.T(Envelope.class), processParentRequest());
reactor.on(Selectors.T(Bundle.class), processOptimizerRequest());
reactor.on(Selectors.$(Constants.LOWER_ASG), processLowerAsgsRequest());
reactor.on(Selectors.$(constants.SET_CONSUMPTION_LEVEL),
processConsumersRequest());
reactor.on(Selectors.$(constants.SET_GENERATION_LEVEL),
processProducersRequest());
reactor.on(Selectors.$(constants.SET_STORAGE_SUPPLY_LEVEL),
processStoragesRequest());
}
private Consumer<Event<Envelope>> processParentRequest() {
return envelope -> optimizerUpdatingService
.processParentRequest(envelope);
}
private Consumer<Event<Bundle>> processOptimizerRequest() {
return bundle -> eventProcessingDispenser
.processOptimizerRequest(bundle);
}
private Consumer<Event<Envelope>> processLowerAsgsRequest() {
return envelope -> lowerAsgsProcessingService
.processLowerAsgRequest(envelope);
}
private Consumer<Event<Message>> processConsumersRequest() {
return message -> consumersProcessingService
.processConsumersRequest(message);
}
private Consumer<Event<Message>> processProducersRequest() {
return message -> producersProcessingService
.processProducersRequest(message);
}
private Consumer<Event<Message>> processStoragesRequest() {
return message -> storageProcessingService
.processStoragesRequest(message);
}
答案 0 :(得分:0)
Spring Boot根本不是先决条件,它只是在使用Spring with Reactor时提供了一些便利。
可能会发生任何事情。没有任何细节,很难给出具体的建议。
答案 1 :(得分:0)
简单的答案是否定的。
Spring boot不是先决条件,但是它使您的自举变得容易。
您只需要在类路径中project reactor即可使用反应堆