JDK-7021429 : Jar file used by JRE1.4.2 won't be cached if it runs on New Generation Plugin.
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u22
  • Priority: P3
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2011-02-22
  • Updated: 2012-06-08
  • Resolved: 2012-06-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availabitlity Release.

To download the current JDK release, click here.
6u27-revFixed 7-poolResolved 8Resolved
Related Reports
Relates :  
Relates :  
OS: Windows XP SP2
Java: JRE1.4.2u19 + JRE6u22

Once JRE6u22 is installed and New Generation Plug-in is enabled on the system which has 
JRE1.4.2 installed, jar file used by JRE1.4.2 won't be cached and jar file is always 
downloaded from the server. 

The customer initially had JRE1.4.2 installed on the system, and jar file caching was
working as expected. It means, once jar files are cached, it won't be downloaded from 
the server and applets were invoked using local cache.
But after installing JRE1.6.0u22, jar file has never been cached and it is downloaded 
from server every time applet is called.
This causes significant delay of starting up an applet.

EVALUATION I just confirmed that this issue is not reproducible with JDK 8 b42 due to a significant redesign of Java Deployment Cache. The resource file (ServerJAR.jar) is downloaded only ones, and then reused in all subsequent launches.

EVALUATION we are inclining to not fix it in 7 because 1.4.2 is EOL already. Eventually we will drop the support of running plugin with 1.4.2. If customer really needs this, please open subCR for 6 update and escalate.

WORK AROUND run with JRE 5 or above

EVALUATION problem is due to code in sun.plugin.URLJarFileCallback, retrieve and download method. In retrieve, we detected DeployCacheHandler is not avaliable in 1.4.2, and set resourceNotCacheable to false, and contiune to depend on downloadJAR method to download resource to cache. But downloadJAR basically needs DeployCacheHandler in order to download into cache. So basically when running 6/7 plugin with 1.4.2, plugin works in no-cache mode. running with 1.4.2 is not of the highest priority right now for JDK 7. If this needs to fixed in a 6 update release, please open subCR for 6-update.

SUGGESTED FIX when running with 1.4.2, call into downloadengine/cache directly to store into cache. do not depend on DeployCacheHandler.