Vert.x v3.5.1。有我start
的 Verticle 自定义方法:
@Override
public void start(Future<Void> startFuture) throws Exception {
startFuture.setHandler(event -> {
if (event.succeeded()) {
logger.info("Server started on port: {}", 8080);
} else {
logger.warn("Failed to start: {}", event.cause());
}
});
vertx.createHttpServer()
.requestHandler(router()::accept)
.listen(8080, event -> {
if (event.succeeded()) {
startFuture.complete();
} else {
startFuture.fail(event.cause());
}
});
}
我希望将来完成时会调用我的自定义处理程序。但事实并非如此!在调试模式下,我看到它FutureImpl::setHandler
被调用了两次:一次使用我的自定义处理程序,然后使用DeploymentManager
's 处理程序 during doDeploy
. 所以应用了最新的处理程序。
问题是:是否可以为 Verticle start 指定自定义回调?如果是,我该怎么做?
先感谢您。