While a Java Web Start Swing application is running, we would like to cause the application to terminate itself, but be restarted by downloading the updated version from the server. Ideally, the terminated instance should be able to pass a message to the new instance (for example, pass along login data, restore the UI state, ...).
We use Java Web Start, for a GUI application in a client-server context. We have one or two planned maintenance per month, and otherwise, we only do hotfixes. The main difference being that the cluster doesn't go down (as a whole), and the clients can still access the upgraded server, with the non-hotfixed version.
While most users restart their application every morning, and therefore get the updated version, some clients never turn off their PCs, and never actually close the client. This causes them to hit the corrected bugs days after they were fixed.
Our solution would be to force a re-start of the client application between saving their data, and reloading the saved and updated data from the server. The goal being to not cause data loss, but while still forcing the download of the updated version.
Being able to cause the application to restart automatically would make this solution more acceptable for the users.