EventBus是Guava的事件處理機制,是設計模式中的觀察者模式(生產/消費者編程模型)的優雅實現。對於事件監聽和發佈訂閱模式,EventBus是一個非常優雅和簡單解決方案,我們不用創建複雜的類和接口層次結構。
package com.hcmony.adscounter.api;
import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;
/**
* <h3>類的基本描述</h3>
*
* @author hcmony
* @since V1.0.0, 2020/3/11 09:54
*/
public class Test {
public static void main(String[] args) {
EventBus bus = new EventBus();
bus.register(new MyLisenter());
bus.post(new MyEvent("test"));
}
static class MyEvent {
private String message;
public MyEvent(String message) {
this.message = message;
}
@Override
public String toString() {
return this.message;
}
}
static class MyLisenter{
@Subscribe
public void consume(MyEvent event){
System.out.println(event.toString());
}
}
}