更新自己的Java应用程序?

时间:2012-05-13 11:11:01

标签: java jar auto-update server-application

我正在编写Java服务器端应用程序,我想提供内置功能,以便苹果可以自行更新。我希望应用程序轮询服务器,如果有可以更新的新版本,则应该让用户激活更新命令。

我希望在此次更新期间发生以下情况:

  • 使用新版本下载新的JAR文件
  • 将该JAR的内容重新载入主应用程序
  • 从旧JAR中卸载任何旧类

理想情况下,我希望在此过程中没有应用程序PID更改。

我相信詹金斯会这样做,但我无法弄清楚他们是如何做到的。

1 个答案:

答案 0 :(得分:0)

卸载/加载技术是部署到应用程序容器中的Java EE应用程序的标准技术,您可以免费获得。

唯一的问题是如何以编程方式管理更新。它必然是特定于容器的。如果您没有部署到Java EE容器,那么您将不得不深入研究自定义类加载器的血腥细节。但这只是一个开始,因为除了卸载类之外还有更多的东西。您的应用程序可能已启动需要正常关闭的线程,例如,或已打开的套接字等。