如何知道 vert.x httpserver 何时真正启动

How to know when vert.x httpserver has actually started

我正在将 Vert.x 嵌入到一个应用程序中,并且我有以下代码:

def vertx = Vertx.vertx()
def router = Router.router(vertx)

router.route().handler(BodyHandler.create())
// more routes here
vertx.createHttpServer().requestHandler(router.&accept).listen(8080)

我希望在服务器实际启动和 运行/侦听时收到通知。我一直在查看 API,似乎我可以使用 ListenHandler,但似乎无法弄清楚它是什么样子。

只需在 listen 的第二个参数上添加一个闭包。这个闭包将采用 Future ,它可以使用 result() 访问 HttpServer :

vertx.createHttpServer()
  .requestHandler(router.&accept)
  .listen(8080, { f ->
    if (f.succeeded()) { ... }
  })

参见:Future