Как узнать, когда vert.x httpsserver фактически запустился

Я встраиваю 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, но не могу понять, как это выглядит.


person Gregg    schedule 11.03.2016    source источник


Ответы (1)


Просто добавьте замыкание для второго параметра listen. Это закрытие потребует Future, который может получить доступ к HttpServer с помощью result():

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

См.: Будущее.

person Jérémie B    schedule 12.03.2016