0

A client has a Java Desktop app that is distributed/deployed/installed using Java Web Start. Usually what happens when the a user downloads for the first time is as below:

1- User double click on a startup script file that has Java Web Start URL
2- Default Java Web Start progress bar is shown until bundle download is completed
3- Then progress bar disappears and there is a delay of 10-20 seconds util desktop app splash screen is shown and starts launching

My assumption is that because is the first time after bundle is downloaded then JVM takes some time to install or load desktop app in memory. This delay doesn't happen in subsequent attempts unless a new version is deployed or the user deletes the cache.

The client is requesting to implement a custom progress bar that will cover all steps from 1 to 3, meaning that the progress bar should not disappear until the desktop app is launching.

Is this something that can be done? I have been looking JNLP / Java Web Start documentation and other Java Wrapper tools but I am unsure if this is something that should be done at all? Any input or recommendation would be greatly appreciated

alejob2k
  • 53
  • 8
  • What we do for one of our products is deploy a bootstrapper via Web Start. It's basically a tiny app which is little more than a splash screen. The bootstrapper is responsible for pulling the files for the actual application. I've never experienced the delays you mention - presumably because the bootstrapper is kept as minimal as possible. – Michael Apr 19 '18 at 07:21
  • Thank you for your replay I'll investigate more about the bootstrapper – alejob2k Apr 19 '18 at 23:06
  • As an update I have created a booststrap class at the moment as a proof of concept. I have two problems. 1- After bootstrap class calls JNLP file programmatically I have no idea how to track the download, Java Web Start seems to be a black box. 2- I would like to know if there is a way also programmatically from within the bootstrap class to tap into the cache and check if the Java Web Start bundle has been downloaded before, the cache seems to be a black box as well – alejob2k Apr 30 '18 at 06:08
  • Seems like your implementation doesn't exactly match ours. Our implementation uses Web Start to download and start the bootstrapper. (for this, the fact that Web Start is a black box doesn't really matter). The bootstrapper itself does not deal with any JNLPs. It downloads a collection of JARs from the server and manages this process itself. – Michael Apr 30 '18 at 08:10
  • Thank you for your help, is it possible to know what api do you use to manage your bundle download? To give you context I was using a different approach to avoid reinvent the wheel as Java Web Start technology seems to be mature and reliable but now I have seen that Java Web Start will not be supported by Oracle from Java 10 onwards according to this SO question https://stackoverflow.com/questions/46904795/java-web-start-support-in-java-9-and-beyond thank you in advance – alejob2k May 09 '18 at 23:46

0 Answers0