您的位置:首页 > 其它

azkaban源码解读(二):观察者模式在job执行过程中事件监听应用

2015-08-10 23:24 330 查看

抽象观察者

public interface EventListener {
public void handleEvent(Event event);
}

 抽象观察主体

public class EventHandler {
//持有观察者容器
private HashSet<EventListener> listeners = new HashSet<EventListener>();

public EventHandler() {
}
//添加观察者
public void addListener(EventListener listener) {
listeners.add(listener);
}
//通知所有观察者
public void fireEventListeners(Event event) {
ArrayList<EventListener> listeners =
new ArrayList<EventListener>(this.listeners);
for (EventListener listener : listeners) {
listener.handleEvent(event);
}
}
//删除观察者
public void removeListener(EventListener listener) {
listeners.remove(listener);
}
}

  

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: