java程序远程自动更新_您如何远程更新Java应用程序?

本文介绍了如何实现Java应用程序的远程自动更新,建议使用jnlp技术进行定制,以适应服务器类型的程序更新。同时,提出了一个启动时检查更新的bootstrap.jar方案,并详细阐述了在应用程序运行时如何利用乒乓方法安全地替换JAR文件,确保更新过程的平滑进行,还提供了回滚机制以应对更新失败的情况。
摘要由CSDN通过智能技术生成

小编典典

您没有指定服务器应用程序的类型-

我将假设您没有在运行Web应用程序(因为部署WAR已经完成了您所谈论的内容,并且您很少需要Web应用程序来执行拉类型如果您正在谈论一个Web应用程序,那么下面的讨论仍然可以适用-

您只需为WAR文件而不是单个文件实施更新检查和乒乓球)。

您可能想看看jnlp-

WebStart基于此(这是一种客户端应用程序部署技术),但是我很确定它可以针对服务器类型应用程序执行更新而定制。无论如何,jnlp在提供可用于下载所需JAR的所需版本的描述符方面做得非常好。

对此有一些一般性的想法(我们在同一个存储桶中有多个应用程序,并且正在考虑自动更新机制):

在启动应用程序之前,请考虑具有bootstrap.jar文件,该文件能够读取jnlp文件并下载所需/更新的jar。

即使在应用程序运行时(至少在Windows上,这也是操作系统最有可能对正在运行的文件进行锁定的操作系统), 都 可以更新JAR文件。如果您使用自定义类加载器,或者随时都有可能加载或卸载一堆JAR,则可能会遇到问题,但是如果您要创建防止这种情况的机制,则应覆盖JAR,然后重新启动该应用足以进行更新。

即使有可能覆盖JAR,您也可能需要考虑使用lib路径的乒乓方法(如果尚未将应用启动器配置为自动读取lib文件夹中的所有jar文件并将其添加到类路径,那么那是您真正想要做的事情)。乒乓球的工作方式如下:

应用程序启动并查看lib-ping \ version.properties和lib-pong \

version.properties并确定哪个较新。假设lib-ping具有更高版本。启动器将搜索lib-ping *

.jar并将这些文件添加到CP中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值