当Java Web Start Swing应用程序正在运行时,我们希望使应用程序自行终止,但可以通过从服务器下载更新的版本来重新启动。理想情况下,终止的实例应该能够将消息传递给新实例(例如,传递登录数据,恢复UI状态,......)。
我们使用Java Web Start,用于客户端 - 服务器上下文中的GUI应用程序。我们每月有一到两次计划维护,否则,我们只做修补程序。主要区别在于集群不会下降(整体而言),客户端仍可以使用非固定版本访问升级后的服务器。
虽然大多数用户每天早上重新启动应用程序,因此获得更新版本,但有些客户从不关闭他们的PC,也从未真正关闭客户端。这导致他们在修复后的几天内找到了纠正的错误。
我们的解决方案是在保存数据和从服务器重新加载已保存和更新的数据之间强制重新启动客户端应用程序。目标是不会导致数据丢失,但仍然强制下载更新版本。
能够使应用程序自动重启会使这个解决方案更容易被用户接受。