分布式系统事件通知实现:mq
单台jvm内部系统事件通知实现:可以考虑消息总线eventBus
通过eventBus注册监听器,再统一使用post方法触发
执行方式:同步异步可选,同步使用eventBUs,异步使用AsyncEventBus
会触发哪些事件?
每个event会和多个listener绑定,底层是通过map来关联。eventBus发送事件后,只会触发所发送event所绑定的listener、
绑定的方式?
通过@Subscribe注解来绑定listener和events
参考代码示例:
public class GuavaEventBusUnitTest {
private PaymentSuccessfulEventListener1 listener1;
private PaymentSuccessfulEventListener2 listener2;
private PaymentSuccessfulEventListener3 listener3;
private EventBus eventBus;
@Before
public void setUp() {
eventBus = new EventBus();
listener1 = new PaymentSuccessfulEventListener1