一文读懂Guava EventBus(订阅\发布事件)

💡 原文中文,约12200字,阅读约需29分钟。
📝

内容提要

EventBus通过SubscriberRegister缓存所有含有@Subscribe注解的方法,并将其维护在Subscribers中,publisher发布事件Event后,EventBus会从SubscriberRegister中查找出所有订阅此事件的Subscriber,然后让Dispatcher分发Event到每一个Subscriber,子类listener注册,父类listener也会注册,如果作为参数的Event有继承关系,使用EventBus发布Event时,Event父类的监听者也会对Event进行处理。EventBus有三种Dispatcher,但不支持事务、设置订阅者消费顺序、消息过滤,SpringEvent支持消息过滤,但复杂程度较高。

➡️

继续阅读