This discussion is archived
11 Replies Latest reply: Jul 19, 2012 1:04 AM by gimbal2 RSS

Applet re-downloads .jar files multiple times per session

950259 Newbie
Currently Being Moderated
I'm having an issue (firefox+chrome tested) where my Java applet downloads .jar files fully several times in the one session.
In one case we have a large main .jar file ~650kb that is downloaded, consistently, TWENTY EIGHT times - adding an obviously noticeable delay of about a minute on my connection before the applet appears properly.

I have a colleague however, who can load the same application online without getting the repeated "cache-not-found" requests.
He is using Java Plug-in 1.6.0_31 Using JRE version 1.6.0_31-b05, I am with Java Plug-in 10.4.0.22 Using JRE version 1.7.0_04-b22, both W7.

I'm not sure of the circumstances why the .jars would be requested multiple times in the same invocation?
Security issue / forgotten option on my Java somewhere?


I've read the Content-encoding type shouldn't be "null", but the server (tomcat) is serving up .jars with "Content-Type: application/java-archive" according to my Firebug test, it doesn't seem to affect my coworker.

I'm currently using this old style applet tag, not keen on using .jnlp:
<embed width="689" height="526" pluginspage="http://java.sun.com/update/1.4.2/j2re-1_4_2-windows-i586.xpi" java_version="1.4.2+" classloader_cache="false" separate_jvm="true" mayscript="true" id="stryker-applet" name="stryker-applet" archive="stryker-applet.jar,jpct-helge.jar,cpp4j.jar,ode4j_core.jar,ode4j_cpp.jar" codebase="./Files/" code="com.proj.applet.StrykerApplet.class" type="application/x-java-applet">


I've got java consoles of the app loading with network&tracing flags enabled.

Mine (initial part only - it's quite big, redownloads jars, big delay):
-----
basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@1a3fb76
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/stryker-applet.jar
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/jpct-helge.jar
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/cpp4j.jar
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/ode4j_core.jar
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/ode4j_cpp.jar
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/ with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar
     Content-Length: 679,169
     Content-Encoding: null
security: Blacklist revocation check is enabled
security: Trusted libraries list check is enabled
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
security: Accessing keys and certificate in Mozilla user profile: null
security: Loading Deployment certificates from C:\Users\L450-188\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
security: Loaded Deployment certificates from C:\Users\L450-188\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Validate the certificate chain using CertPath API
security: Loading Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
security: Loaded Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: The certificate hasnt been expired, no need to check timestamping info
security: Found jurisdiction list file
security: No need to checking trusted extension for this certificate
security: This certificate does not have CRL extension
security: The CRL support is enabled
security: Use CRL setting from certificate
security: The OCSP support is enabled
security: Use OCSP setting from certificate
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar
     Content-Length: 679,169
     Content-Encoding: null
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
security: Validate the certificate chain using CertPath API
security: The certificate hasnt been expired, no need to check timestamping info
security: Found jurisdiction list file
security: No need to checking trusted extension for this certificate
security: This certificate does not have CRL extension
security: The CRL support is enabled
security: Use CRL setting from certificate
security: The OCSP support is enabled
security: Use OCSP setting from certificate
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
basic: Plugin2ClassLoader.getPermissions CeilingPolicy allPerms
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar
     Content-Length: 679,169
     Content-Encoding: null
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar, version: null]
security: Validate the certificate chain using CertPath API
security: The certificate hasnt been expired, no need to check timestamping info
security: Found jurisdiction list file
security: No need to checking trusted extension for this certificate
security: This certificate does not have CRL extension
security: The CRL support is enabled
security: Use CRL setting from certificate
security: The OCSP support is enabled
security: Use OCSP setting from certificate
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
basic: Applet loaded.
basic: Applet resized and added to parent container
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 645246 us, pluginInit dt 19318599 us, TotalTime: 19963845 us
3DSv3 Applet Version 0.6c
Globals.gBasePage=http://appurl.com:8080/webapp_name/
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar
     Content-Length: 290,920
     Content-Encoding: null
security: The jar file isnt signed so the blacklist check will be skipped
security: The jar file isnt signed so the trusted libraries list check will be skipped
security: The jar file isnt signed so the blacklist check will be skipped
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/cpp4j.jar
     Content-Length: 34,232
     Content-Encoding: null
security: The jar file isnt signed so the blacklist check will be skipped
security: The jar file isnt signed so the trusted libraries list check will be skipped
security: The jar file isnt signed so the blacklist check will be skipped
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/ode4j_core.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/ode4j_core.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/ode4j_core.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/ode4j_core.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar
     Content-Length: 569,452
     Content-Encoding: null
security: The jar file isnt signed so the blacklist check will be skipped
security: The jar file isnt signed so the trusted libraries list check will be skipped
security: The jar file isnt signed so the blacklist check will be skipped
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar
     Content-Length: 290,920
     Content-Encoding: null
security: The jar file isnt signed so the blacklist check will be skipped
security: The jar file isnt signed so the trusted libraries list check will be skipped
security: The jar file isnt signed so the blacklist check will be skipped
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with cookie "JSESSIONID=somesessid1; __utma=bla; __utmz=bla.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/cpp4j.jar
     Content-Length: 34,232
     Content-Encoding: null
security: The jar file isnt signed so the blacklist check will be skipped
security: The jar file isnt signed so the trusted libraries list check will be skipped
security: The jar file isnt signed so the blacklist check will be skipped
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
network: Cache entry not found [url: http://appurl.com:8080/webapp_name/Files/cpp4j.jar, version: null]
...
------

Coworker (downloading normally):

basic: Added progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@16a9d42
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/stryker-applet.jar
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/jpct-helge.jar
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/cpp4j.jar
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/ode4j_core.jar
basic: Plugin2ClassLoader.addURL parent called for http://appurl.com:8080/webapp_name/Files/ode4j_cpp.jar
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/ with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/stryker-applet.jar with cookie "JSESSIONID=somesessid2"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/stryker-applet.jar
     Content-Length: 679,169
     Content-Encoding: null
security: Blacklist revocation check is enabled
security: Accessing keys and certificate in Mozilla user profile: null
security: Loading Root CA certificates from C:\Program Files (x86)\Java\jre6\lib\security\cacerts
security: Loaded Root CA certificates from C:\Program Files (x86)\Java\jre6\lib\security\cacerts
security: Loading Deployment certificates from C:\Users\Owner\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
security: Loaded Deployment certificates from C:\Users\Owner\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Validate the certificate chain using CertPath API
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: Start to check whether root CA is replaced
security: The root CA hasnt been replaced
security: No timestamping info available
security: Found jurisdiction list file
security: No need to checking trusted extension for this certificate
security: The CRL support is disabled
security: The OCSP support is disabled
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Validate the certificate chain using CertPath API
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: Start to check whether root CA is replaced
security: The root CA hasnt been replaced
security: No timestamping info available
security: Found jurisdiction list file
security: No need to checking trusted extension for this certificate
security: The CRL support is disabled
security: The OCSP support is disabled
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
basic: Plugin2ClassLoader.getPermissions CeilingPolicy allPerms
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Validate the certificate chain using CertPath API
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: Start to check whether root CA is replaced
security: The root CA hasnt been replaced
security: No timestamping info available
security: Found jurisdiction list file
security: No need to checking trusted extension for this certificate
security: The CRL support is disabled
security: The OCSP support is disabled
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
basic: Applet loaded.
basic: Applet resized and added to parent container
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 112484 us, pluginInit dt 3079987 us, TotalTime: 3192471 us
3DSv3 Applet Version 0.6c
Globals.gBasePage=http://appurl.com:8080/webapp_name/
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/jpct-helge.jar with cookie "JSESSIONID=somesessid2"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/jpct-helge.jar
     Content-Length: 290,920
     Content-Encoding: null
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/cpp4j.jar with cookie "JSESSIONID=somesessid2"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/cpp4j.jar
     Content-Length: 34,232
     Content-Encoding: null
network: Connecting http://appurl.com:8080/webapp_name/Files/ode4j_core.jar with proxy=DIRECT
network: Connecting http://appurl.com:8080/webapp_name/Files/ode4j_core.jar with cookie "JSESSIONID=somesessid2"
network: Downloading resource: http://appurl.com:8080/webapp_name/Files/ode4j_core.jar
     Content-Length: 569,452
     Content-Encoding: null

ASSERTM: Error: 62:47
basic: Applet initialized
basic: Loading Java Applet ...
basic: Removed progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@16a9d42
-----
  • 1. Re: Applet re-downloads .jar files multiple times per session
    950259 Newbie
    Currently Being Moderated
    I've found what was making the difference between us.
    In control panel/java/general tab/temporary internet files, I have "Keep temporary Internet files on my computer" checked, and he did not.

    Without this option selected, the applet starts right up on my computer too and our consoles are now very similar with no "cache entry not found" outputs.

    But I'm still not sure why this option would cause it to request the same .jar file over and over?

    regards,
    Jamie
  • 2. Re: Applet re-downloads .jar files multiple times per session
    sabre150 Expert
    Currently Being Moderated
    947256 wrote:
    In control panel/java/general tab/temporary internet files, I have "Keep temporary Internet files on my computer" checked, and he did not.

    Without this option selected, the applet starts right up on my computer too and our consoles are now very similar with no "cache entry not found" outputs.
    Interesting - seems back to front since not having it check would imply that the jar had to be downloaded every time not the other way round!
  • 3. Re: Applet re-downloads .jar files multiple times per session
    gimbal2 Guru
    Currently Being Moderated
    Yes but the problem seems to be that with the check on the files download repeatedly; the problem seems to be with the caching itself which is somehow failing.

    But yeah... its Java 7 update 4 when update 5 is the latest. You can reason and guess all you want but it might as well be a bug that has already been fixed. I'd upgrade to the latest first (with matching browser plugin of course) and if it persists only then it is time to do some deeper digging.
  • 4. Re: Applet re-downloads .jar files multiple times per session
    950259 Newbie
    Currently Being Moderated
    Ok I updated to "Java Plug-in 10.5.1.255 Using JRE version 1.7.0_05-b06", still having the issue with caching turned on.

    Can you tell me if the default Java install is to have 'keep temporary files' checked?

    Maybe there are some test applets online I can compare console outputs with?
  • 5. Re: Applet re-downloads .jar files multiple times per session
    gimbal2 Guru
    Currently Being Moderated
    947256 wrote:
    Can you tell me if the default Java install is to have 'keep temporary files' checked?
    If you didn't change anything then yes - simple reasoning :) I'd have to check at home, I don't have Java 7 installed at work. My Java 6 installation has it checked and I don't have a habit of changing around java console settings. I don't know any test applets other than really really old ones that are used in the applet tutorials, you'd have to look for some free Java games or something. Pretty sure you'll find some in the showcases on java-gaming.org.

    Can you reproduce the problem on another computer with the same runtime version and the same applet? And what I'm also curious about is: if that other dude with the Java 6 installation checks the checkbox, does he get misery then as well?
  • 6. Re: Applet re-downloads .jar files multiple times per session
    817614 Explorer
    Currently Being Moderated
    If you enable all tracing (level 5 - or edit deployment.properties file with deployment.caching.level=all), there might be more info into why cache not found.
  • 7. Re: Applet re-downloads .jar files multiple times per session
    950259 Newbie
    Currently Being Moderated
    Yes he does get the same issue with it enabled, albeit his connection is a lot faster so the delay is lesser. We've also got a few other guys to confirm it too.

    Interestingly the .jar files don't appear in my Temporary Internet Files 'view' list after running the application.. I can see other apps appearing in there.

    I tried a few example games on that site and didn't see anything similar happening.

    Also removed the signing on the applet and changed the embed code without improving things:
    <embed code="com.app.StrykerApplet.class" codebase="./Files/" archive="stryker-applet.jar,jpct-helge.jar,cpp4j.jar,ode4j_core.jar,ode4j_cpp.jar" name="stryker-applet" id="stryker-applet" separate_jvm="true" type="application/x-java-applet;version=1.7" pluginspage="http://java.sun.com/javase/downloads/ea.jsp" height="526" width="689">


    (level5 didn't seem to give me any more output, using args "-Djavaplugin.trace\=true -Djavaplugin.trace.option\=basic|net|cache|security|ext|liveconnect|temp")
  • 8. Re: Applet re-downloads .jar files multiple times per session
    gimbal2 Guru
    Currently Being Moderated
    947256 wrote:
    I tried a few example games on that site and didn't see anything similar happening.
    Probably because the applets are deployed differently, like through the JNLP file you don't seem to want to become friends with.

    http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/index.html
  • 9. Re: Applet re-downloads .jar files multiple times per session
    817264 Journeyer
    Currently Being Moderated
    Caching behavior depends on http headers. Please install http traffic sniffer (e.g. wireshark) and capture requests for these jars.
    Please post request/response headers here.
  • 10. Re: Applet re-downloads .jar files multiple times per session
    950259 Newbie
    Currently Being Moderated
    Thanks for the pointer! yep I checked it in Wireshark and the "Expires"/"Cache-Control" header was being set way in the past by a hidden Tomcat filter.
    So that must override the cache checkbox for .jar files.
    It loads with or without the Temporary file cache checkbox now.

    Cheers guys,
    Jamie
  • 11. Re: Applet re-downloads .jar files multiple times per session
    gimbal2 Guru
    Currently Being Moderated
    947256 wrote:
    Thanks for the pointer! yep I checked it in Wireshark and the "Expires"/"Cache-Control" header was being set way in the past by a hidden Tomcat filter.
    So that must override the cache checkbox for .jar files.
    It loads with or without the Temporary file cache checkbox now.

    Cheers guys,
    Jamie
    Wow, that is something to remember! It is quite common to install a filter that disables caching to prevent problems with dynamically generated pages. Thanks for the insight Igor.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points