thrift 笔记

TServer详解

TServer 是所有服务的父类。在 TServer 里面定义了几个 Thfit Server 的常用方法。

下面是 TServer 中的代码片段:

public abstract class TServer {

  ...

  /**
   * The run method fires up the server and gets things going.
   */
  public abstract void serve();

  /**
   * Stop the server. This is optional on a per-implementation basis. Not
   * all servers are required to be cleanly stoppable.
   */
  public void stop() {}

  public boolean isServing() {
    return isServing;
  }

  protected void setServing(boolean serving) {
    isServing = serving;
  }

  public void setServerEventHandler(TServerEventHandler eventHandler) {
    eventHandler_ = eventHandler;
  }
  
  public TServerEventHandler getEventHandler() {
    return eventHandler_;
  }

 ...  

}

主要的方法:

  • server () 是服务启动的时候会调用的方法。也就是说,要想了解这个服务是怎么运行的,那么首先应该看看该服务的 server () 方法。
  • stop () 调用 stop 方法来停止服务。
  • setServerEventHandler () 设置 eventHandler。eventHandler 是ThriftServer的监听器。类似观察者模式。

links