java - Vert.x 启动应用程序的最佳方式(Vert.x 命令行与 Main 方法)

标签 java kotlin vert.x

我正在尝试决定部署 Verticles 时应该遵循哪条路径。我得出的结论是,我应该将 Vert.x 视为我的运行时环境,而不是自己创建自己的 Vertx 实例并开始从 main 方法部署我的应用程序。不过,我更喜欢在每个应用程序中都有一个 main 方法,这让我可以更好地控制我的服务,进行服务发现和其他操作。

我在 Vertx 中找不到讨论这一点的文档。或优点和缺点。有人可以帮我吗?

外壳启动:

cd /verticles # the location of the verticle jar
vertx run io.vertx.sample.RandomGeneratorVerticle
-cp /verticles/MY_VERTICLE.jar

主要方法:

public static void main(String[] args) {
  Vertx vertx = Vertx.vertx();

  vertx.deployVerticle(
    new DatabaseVerticle(),
    new DeploymentOptions().setConfig(conf)
  )
}

最佳答案

还有另一种选择:使用 Vert.x Launcher 类作为应用程序入口点。

如果您使用 Java/Kotlin/Groovy 进行开发,它具有 CLI 的优势(您可以获得 -cluster-instances 等选项的支持>-conf),但您不必到处下载/安装它。

如果您使用 JS/Ruby 进行开发,那么使用 Vert.x 3 CLI 很有意义。

在 Vert.x 4 中,不再生成 JS 和 Ruby 绑定(bind),因此尽管仍受支持,但使用 CLI 的意义不大。

从长远来看(Vert.x 5 之后,所以不是明天!)CLI 可能不受支持。

关于java - Vert.x 启动应用程序的最佳方式(Vert.x 命令行与 Main 方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66666104/

相关文章:

java - Spring Boot Azure 存储客户端产生 java.lang.NoSuchFieldError : NOOP_CONFIGURER

java - TextView 中的文本在滚动时淡出

java - 从单个数组列表中获取多个列表

java - 在spring boot的管理端口使用prometheus metrics servlet

kotlin - 如何在 super 接口(interface)上调用被覆盖的函数?

java - 如何在Spring应用程序中存储从另一个系统检索到的 token ?

java - 如何在android上将kotlin转换为java?

cookies - VertX Web无法删除Cookie

java - 如何使用 vert.x 在工作线程上应用并发处理

vert.x - 如何禁用Vert.x的BlockedThreadChecker?