【问题标题】:Update for JavaEE applicationJavaEE 应用程序更新
【发布时间】:2017-06-10 15:04:49
【问题描述】:

我们的应用程序是基于 Spring boot 构建的,应用程序将被打包到 war 文件并使用 java -jar xx.war -Dspring.profile=xxx 运行。通常,最新的war 包将由 nginx 等静态 Web 服务器提供服务。

现在我们想知道是否可以为应用程序添加自动更新。

我google了一下,有人建议使用支持热部署的Application server,但是我们使用spring boot,如上图。

我想在我的应用程序启动后启动一个新线程,然后检查更新并下载最新的包。但是我必须终止当前应用程序才能启动新应用程序,因为它们使用相同的端口,如果关闭当前应用程序,更新线程也会终止。

那么你该如何处理这个问题呢?

【问题讨论】:

    标签: spring spring-boot


    【解决方案1】:

    在我看来,这应该由一些更高阶的 dev-ops 级别的编排系统来管理,而不是由应用程序或其容器来管理。更换应用的决定不应该是在开发运营层面,而不是在应用层面

    spring-boot 的一个主要优点是将传统的 application-web-container 反转为 web-app 模型。因此,Web 容器通常(以及 Spring Boot 的最佳实践)构建在应用程序本身内。因此,它是完全自包含的,并且至关重要的是不可变的。因此,app-web-container/web-app 的角色不应该是替换自身的一部分或全部。

    当然你可以随心所欲,但你可能会发现解决方案并不容易,因为这样做不符合惯例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多