EventBus是Goole实现的发布订阅模型,实现了观察者模式。以下面例子介绍下其使用方法:
我们现在要发布发布订阅消息:
(1)引入依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
(2)创建订阅者-
public class Observer <T>{
@Subscribe
public void func1(String value){
System.out.println("我是" + value.getClass() + ",收到了数据:" + value);
}
}
(3)创建EventBus并发布消息,订阅者订阅
public class EventBusTest {
public static void main(String[] args) {
// 创建EventBus
EventBus eventBus = new EventBus();
// 订阅者订阅消息
Observer<String> myObserver = new Observer<String>();
eventBus.register(myObserver);
// 发布消息
eventBus.post("小七月"); // 最终只有这个消息被处理了
eventBus.post(7); // 这个消息没有被处理,因为只有String类型的消息被订阅了
}
}
Guava中文翻译文档:ifeve.com/google-guav…