我希望看到 Micronaut 支持一种类似于 Guava 或 Spring 中存在的EventBus机制。
使用给定注释(即@Subscribe)注释的 bean 方法将自动注册为事件的侦听器,这些事件可以通过 Micronaut 容器给出的 EventBus 的实现来触发。
此外,如果可以使用等效于一个弹性 I/O 执行器服务的方式异步处理此问题,那将会很酷。
谢谢你,奥斯卡
我希望看到 Micronaut 支持一种类似于 Guava 或 Spring 中存在的EventBus机制。
使用给定注释(即@Subscribe)注释的 bean 方法将自动注册为事件的侦听器,这些事件可以通过 Micronaut 容器给出的 EventBus 的实现来触发。
此外,如果可以使用等效于一个弹性 I/O 执行器服务的方式异步处理此问题,那将会很酷。
谢谢你,奥斯卡
您现在可以通过发布事件来实现事件总线提供的 90% 的功能:
class MyEvent { }
class MyBean {
@Inject
ApplicationEventPublisher eventPublisher;
public void run() {
eventPublisher.publishEvent(new MyEvent());
}
并添加一个异步事件监听器:
@Listener
@Async
void myEventListener(MyEvent event) {
..
}
可以在方法级别根据需要添加其他功能,例如过滤等。