micronaut - Micronaut 中的 EventBus 支持
问题描述
我希望看到 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) {
..
}
可以在方法级别根据需要添加其他功能,例如过滤等。
推荐阅读
- java - 用于连接两个或多个 JSONPath 值的 JSONPath 表达式
- c# - 如何为使用包装器的 Azure Functions 编写单元测试?
- c - 具有嵌入式元信息结构的动态数组
- javascript - 使用 Js 正则表达式验证输入值以仅允许整数和十进制值
- php - 如何在循环中显示标签。例如标签 1、标签 2 等等
- mysql - 复制中不存在 Typeorm 池
- javascript - 如何获取 api 数据并在 HTML 表中查看
- javascript - Context React 中的嵌套数组不会更新其状态
- python - 类型错误:主题()缺少 1 个必需的位置参数:'topic_id'
- android - 当我单击图像然后从firebase图像路径查看图像然后崩溃应用程序