文章目录
Guava的EventBus可以简化生产/消费模型。EventBus通过非常简单的方式,实现了观察者模式中的监听注册,事件分发。
public class GuavaListener {
// 只有通过@Subscribe注解的方法才会被注册进EventBus,即可实现对多个消息的订阅
@Subscribe
public void receiveMessage(String message) {
System.out.println(message);
}
public static void main(String[] args) {
// 创建事件总线
EventBus bus1 = new EventBus("msg1");
EventBus bus2 = new EventBus("msg2");
// 创建一个监听者
GuavaListener listener = new GuavaListener();
// 注册监听者
bus1.register(listener);
bus2.register(listener);
// 向事件总线发送消息
bus1.post("标识:" + bus1.identifier() + ",消息内容1");
bus1.post("标识:" + bus1.identifier() + ",消息内容2");
bus2.post("标识:" + bus2.identifier() + ",消息内容3");
bus2.post("标识:" + bus2.identifier() + ",消息内容4");
}
}
结果: