全局事件怎么使用?

请问GlobalEvents 这个插件具体怎么使用呢?官网上相关资源比较少

说明都在 Github 上。

定义好 Event 之后,通过 Events.publish() 方法发布。用 @EventListener 注解的方法监听。可以参考 这个例子

请问这种方式和消息队列有什么区别呢?

GlobalEvent 可以说 CUBA 时代的一种特有机制 , CUBA 运行时是分层的,有 core层和web层。原生的 Spring 应用程序事件的作用范围是同一JVM,但在 CUBA 中逻辑可能分布在不同的 JVM, 即 core 和web层, 在core 层触发的应用程序事件是不会发布到web层的,所以 CUBA 提供了Global事件扩展,对标识为Global的事件再进行转发,从core层转发到web层。转发使用的通道是 websocket。
GlobalEvent 的作用是处理 CUBA 应用中 core 层 web 层的通讯问题,只是简单地转发事件。和消息队列没有关系。

1 个赞

你是要解决什么问题?

非常感谢,目前只是在学习这些插件,对于这个全局事件的具体应用场景有点模糊。