2.3、Verticle 剖析
我们的wiki的verticle由一个io.vertx.guides.wiki.MainVerticle Java类组成。这个类扩展了io.vertx.core.AbstractVerticle,这个基类主要提供:
1、用于被子类覆写生命周期方法:start()和stop();
2、一个名为vertx的protected字段,它指向Vert.x环境,而Verticle就是部署在这个环境中的;
3、一个对配置对象的访问器,允许将外部配置传递给一个Verticle。
简单起见,我们可以覆写verticle的start()方法,如下:
public class MainVerticle extends AbstractVerticle {
@Override
public void start(Future<Void> startFuture) throws Exception {
startFuture.complete();
}
}
有两种形式的start(和stop)方法:
1、没有参数;无参数意味着,除非抛出异常,否则verticle初始化或保持阶段总是成功。
2、有future对象引用;提供了更精细的方法来最终表明操作成功与否。实际上,一些初始化或清理代码可能需要异步操作,因此通过future对象的报告自然符合异步成语。