如何输出服务器已启动

zero_coding

我有以下代码,它将启动http服务器:

class MainVerticle : CoroutineVerticle() {

  override suspend fun start() {

    val server = vertx.createHttpServer()

    val router = Router.router(vertx)
    router.route("/api/genders*")
      .subRouter(GenderApi(vertx).create())

    server.requestHandler(router)
      .listen(8080)
      .await()

  }
}

现在,如果服务器已成功启动或失败(如果端口已被占用),我想输出。

没有协程,代码将是:

class MainVerticle : AbstractVerticle() {

    override fun start(startPromise: Promise<Void>) {
        val server = vertx.createHttpServer()

        val router = Router.router(vertx)

        server.requestHandler(router).listen(8888) { http ->
            if (http.succeeded()) {
                startPromise.complete()
                println("HTTP server started on port 8888")
            } else {
                println(http.cause())
                startPromise.fail(http.cause());
            }
        }
    }
}

如果服务器启动成功与否,我在这里输出。

齐斯蒙特

如果使用协程,请添加一个try / catch块:

class MainVerticle : CoroutineVerticle() {

  override suspend fun start() {

    val server = vertx.createHttpServer()

    val router = Router.router(vertx)
    router.route("/api/genders*")
      .subRouter(GenderApi(vertx).create())

    try {
      server.requestHandler(router)
        .listen(8080)
        .await()
      println("HTTP server started on port 8888")
    } catch (e: Exception) {
      println(http.cause())
      throw e
    }

  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章