java事件模型——EventObject

Java事件模型

一.java事件模型

java中的事件机制的参与者有3种角色:

  1. Event Eource:
    具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。
  2. Event Object:
    事件状态对象,用于 listener 的相应的方法之中,作为参数,一般存在于listerner 的方法之中
  3. Event Listener:
    当它监听到event object产生的时候,它就调用相应的方法,进行处理。
    例子如下,Spring-context 的事件机制的根类:
public abstract class ApplicationEvent extends EventObject {
    private static final long serialVersionUID = 7099057708183571937L;
    private final long timestamp = System.currentTimeMillis();

    public ApplicationEvent(Object source) {
        super(source);
    }

    public final long getTimestamp() {
        return this.timestamp;
    }
}

而Apollo配置中心的事件处理类AppCreationEvent,是继承自Spring的。

public class AppCreationEvent extends ApplicationEvent {

  public AppCreationEvent(Object source) {
    super(source);
  }

  public App getApp() {
    Preconditions.checkState(source != null);
    return (App) this.source;
  }
}

你可能感兴趣的:(java)