JNLP Hosted on Multiple Servers (Cluster) is Cached for Each Server
posted 6 months ago
I have a Java application that is set up to be launched via Java Web Start. My application launches and runs correctly, however my problem involves the fact that my JNLP file is hosted on multiple servers in a cluster (i.e. customers can launch the application from any of the servers in the cluster).
When my application is launched from SERVER_1, it runs correctly and I can see that the application is downloaded and cached on the client. (good)
If I close my application and then re-launch it, I can see that the cached application is used (i.e. no new application is added to the Java Cache) and runs correctly. (good)
If I close my application and then re-launch it from SERVER_2, Web Start downloads a new instance of the application (I can see a new entry in the Java Cache) and the launch fails with no error (download/verification dialog opens up and then closes without launching the application). (bad)
If I attempt to launch the application from SERVER_2 again, one of the cached versions is used (i.e. no new application is added to the Java Cache) and the application runs/launches correctly. (good)
Is there any way to prevent Web Start from downloading another version of my application when a different server is used to launch the application even though the same JAR files are being downloaded? My application's JNLP and JAR resources are all in the same physical location, they are just accessed via a different URL when using different servers.
I'm thinking the duplicate cached instances of my application are causing the launch failure when launching from a different server than the initial launch.