This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Background: The application we built is being upgraded from time to time and we send it to our users. our users use it on a network so there is only one file to upgrade (and being done by the sys admin) We send them a �patch�; actually, it�s a new version of the application they place it in the relevant folder and continue to work with a new version.
Problems: 1. We send them the patch via email - sometimes it takes a while until they read their email and at they are using an �old version of the system�. 2. Some of them are not computer savvy (when it�s not the sys admin) and we need to guide them as where exactly to place the file (there are 3 files)
Our (conceptual never build yet) Solution: Build a program just like Norton antivirus (or other) that prompts the user from the task bar (next to the clock) that a new version is available and by clicking once it will automatically download the file and store it in the correct folder.
Question: 1. Did anyone try anything like this before (or something like) who can tell me about it? 2. Do you think this kind of system will work for us? 3. Does anyone have a better solution?
Neat idea for sure. I don't think you can swap jars in a running system. Do any of the app servers support that kind of thing?
I might try downloading the new version via sockets or FTP or whatever protocol you have handy to a "staging" directory, and writing the startup script or shell file to check for anything new in staging at startup.
The user could get a "new version available" notice, shut down & restart to pick it up.
I guess another way to avoid updating components in a running system is to have the update check in a totally separate program / jar / etc. Your startup routine could just run the update check first, then start the real app second.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi