您好我正在尝试Spring反应器到目前为止一切正常但我的消费者一个接一个地调用..异步
我的用例:
事件从一个安静的控制器发布,并且调用两个打印到控制台的简单消费者(实际上,一个消费者写入数据库,另一个消费者将数据发布到网络套接字)
我正在使用spring boot 1.2.7
这是我的控制器
JsonConvert.Deserialize<RootObject>()
我的事件处理程序
处理程序1
@Controller
public class MessageController {
@Autowired
@Qualifier("myreactor")
private Reactor r;
@RequestMapping("/hello/{username}")
public @ResponseBody String welcome(@PathVariable String username) {
r.notify("MessageCreated", Event.wrap(username));
return username;
}
}
处理程序2
@Consumer
public class MessageConsumer {
@Autowired
@Qualifier("myreactor")
private Reactor reactor;
@Selector("MessageCreated")
public void handleRequest(Event<String> evt) {
System.out.println("Called Handler 1 " +evt.getData());
}
}
我的反应堆配置
@Consumer
public class MessageConsumer2 {
@Autowired
@Qualifier("myreactor")
private Reactor reactor;
@Selector("MessageCreated")
public void handleRequest(Event<String> evt) {
System.out.println("Called Handler 2 "+ evt.getData());
}
}
无论我做什么,结果总是
@Configuration
@EnableReactor
public class ReactorConfiguration {
@Bean
Environment env() {
return new Environment();
}
@Bean
@Qualifier("myreactor")
Reactor myreactor(Environment env) {
return Reactors.reactor()
.env(env)
.dispatcher(Environment.THREAD_POOL)
.get();
}
}
以相同的顺序调用消费者 ...请让我知道我在哪里陷入困境。上面是一个模拟实现,因为我不能在这里粘贴原始代码。