Cached jnlp parameters

I have a dynamically generated jnlp file using a jsp that passes parameters set in the servlet context. Unfortunately, once the application is run, the parameters can never be updated and the application continues to use the old cached version. The jsp produces the correct file, but Web Start doesn't use it. Anyone have any ideas? Thanks.
<%@ page
contentType = "application/x-java-jnlp-file"
%>
<%
response.setHeader("Expires", "0"); //Doesn't work
String url = request.getRequestURL().toString();
int index = url.lastIndexOf("/");
if (index>0){
url = url.substring(0,index);
String helpURL = application.getInitParameter("HelpURL");
if (helpURL == null){
helpURL = "http://localhost";
%>
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="<%=url%>" href="test.jsp">
<information>
<title>Test</title>
<vendor>Test</vendor>
<homepage href="index.html" />
<description>Test Parameter App</description>
<icon href="images/app.gif"/>
<icon kind="splash" href="images/logo.gif"/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.4+"/>
<jar href="test.jar" />
</resources>
<application-desc main-class="com.test.Test">
<argument><%=helpURL%></argument>
</application-desc>
</jnlp>

I am having the same jnlp cache problems and would appreciate if someone can post a solution to this.
I use jsp to generate a value for a variable and I pass this variable to the application via the "property name".
tag. Problem is, JavaWebStart will always use the cached jnlp even when the variable's value changes.
Thanks for any help you can provide.
[email protected]

Similar Messages

  • How to list installed (cached) JNLP apps

    Hi,
    Is there a way to list the cached jnlp apps programmatically or using javaws.exe or another application.
    Thanks

    You should focus your Google searches to the forum
    site:bbs.archlinux.org how to list installed AUR packages
    https://www.google.com/search?q=site%3A … 78&bih=977 (I used your title for the search)
    You can set the settings to pick only the hits from e..g the last year.

  • JWS 6.0 update 22 uses stale cached JNLP from desktop link

    With the latest Java 6.0 update 22 it appears that JWS is using the stale cached JNLP when launching from the desktop link after a JNLP update at the server.
    Has anyone else experienced this issue with update 22?
    For demonstration, I used the sample notepad application that I deployed for demonstration of a similar desktop link bug in update 17 (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6921609) and I've traced the http requests from JWS. It appears that JWS simply doesn't request the JNLP to check for updates when launched from the desktop link.
    I'll follow up with the bug id and a request for votes if accepted by the dev team.
    Thanks,
    Troy
    Here are the steps to reproduce the issue using the sample app if anyone is interested.....
    1) Download the sample JWS application and allow the desktop link to be created - http://test.planwithvoyant.co.uk/voyant/launch/notepadAllPerm
    2) Inspect the desktop shortcut and notice the path to the JNLP cache entry
    3) Open the cached JNLP and take note of the timestamp included as an application argument as shown below:
         <argument>lastModified=Thu Oct 21 18:44:27 UTC 2010</argument>
    3) Modify the JNLP at the server. The following url updates the Last-Modified header for the sample Notepad app JNLP - http://test.planwithvoyant.co.uk/voyant/launch/setLastModified (disregard the forwarded request to a login screen)
    4) Run the application via the desktop link again now that the JNLP has been modified.
    5) Inspect the desktop shortcut again - notice that the path to the JNLP cache entry will remain unchanged.
    6) Inspect the cached JNLP again and notice that the timestamp in the application arguments is also unchanged.

    I am experiencing the same issue with a recent deployment (Windows XP/Java 1.6.0_22-b04).
    I notice the following sequence in the trace log:
    server running at port: 1340
    temp: connect to: https://www.sample.net/desktop-jnlp/launch.jnlp 1340
    network: Connecting socket://127.0.0.1:1340 with proxy=DIRECT
    temp: no server is running - continue launch!
    network: prepareToLaunch: offlineOnly=false
    network: Cache entry found [url: https://www.sample.net/desktop-jnlp/launch.jnlp, version: null] prevalidated=true/0
    So, whatever internal "server" javaws uses doesn't appear to be available to handle the request for the JNLP file and it proceeds with the old version.
    The behavior is confirmed after disabling all antivirus and firewall software.

  • Can application know the location of its most recent cached *jnlp* file?

    Can an application know if it was launched by clicking on the hyperlink in a web page, or whether it was launched from the shortcut on the desktop?
    Alternatively, Can the application know the location of its most recent cached jnlp file on the desktop?
    To take a specific example, let's say I have a word processor, My Word that is deployed using Web Start. It can view documents on the web and must also work offline to view local documents.
    When a user clicks the hyperlink to the doc, say,
    myParty Open the myParty document
    then myParty.jnlp launches My Word, opening the myParty.txt file.
    Since there is no way to pass arguments dynamically, one must have a jnlp file for each doc.
    So myParty.jnlp has the url of the doc hardcoded in it.
    <application-desc main-class="MyWord">
    <argument>http://www.MySite.com/myParty.doc</argument>
    </application-desc>
    The problem is that apparently Web Start uses the most recent jnlp each time it is launched.
    So that if the file has moved, or if one is offline, then the application hangs because it is trying to open the same document, regardless of whether MyWord was launched by clicking on the hyperlink in a web page - in which case this would be appropriate - or whether it was launched from the shortcut on the desktop - inappropriate here.
    As a workaround, I was wondering - where is the jnlp file stored on the local desktop?
    If the application could find the most recent jnlp, then it could rewrite it (after it was opened the first time) with an identical jnlp that has no application-desc arguments.
    Then when the user runs from the shortcut on the desktop, it will launch without a document to open.
    Any help appreciated.
    thanks,
    Anil Philip
    Are you planning to kill yourself? Stop! listen to this song
    broadband version: http://www.youtube.com/watch?v=pLHHB4YZucI
    dial-up version: http://www.youtube.com/watch?v=xL5WyBenUpM

    1) To make it more complicated, it seems that the browser also does the caching.
    2) I could not find the jnlp as a file on the desktop, so I suspect that is stored in some database. Is there any way the application can write to it or any api to simply allow the application to change the arguments?
    3) It is not an option to use jnlpservlet as the document can be placed anywhere and not just on a webserver under our control.
    Edited by: anilp1 on Mar 20, 2009 9:40 PM

  • Signed, cached JNLP applet doesn't start when updating from 1.6 to 1.7

    Hi, yesterdays forced upgrade from Java6 to Java7 uncovered a nasty surprise for us:
    We're running a game client through JNLP embedded in the browser using signed all-permission jars. The certificate is definitely valid and hasn't timed out.
    When upgrading from 1.6 to 1.7 the applet won't start because of a supossed permission violation for the cached jars. Web start thinks that the jars in the cache are not signed (although they are).
    Deleting the applet cache through the control panel, or deploying a new version of the applet both solves the problem as then the cached version will be overwritten with a newly downloaded version, and everything works fine from then on until switching back to 1.6 again.
    Are 1.6 vs. 1.7 cached, signed jars not compatible? Something to do with pre-validation? Wouldn't it be a good idea to completely invalidate the applet cache in the JRE installer? Is this a bug on the JRE side, or are we somehow not using JNLP the right way (we're running the game for 2 years now, and a couple of million players have played the game since then on JRE6, so I assume we're using JNLP basically the right way).
    Also, early JRE7 preview versions didn't seem to have this problem, I remember testing JRE7 intensively a few months back without any problems, however I'm not sure whether the cache remained intact when installing the preview JRE7 runtime.
    Here are the console traces, please excuse the German, hopefully it's still clear what happens.
    Oops, unfortunately I can only send 30k characters per post. I'd be happy to send you more traces, and additional information. Thanks in advance :)
    Here's a trace when going from 1.6 to 1.7 with the failed permission validation:
    Java-Plug-in 10.5.1.255
    JRE-Version verwenden 1.7.0_05-b05 Java HotSpot(TM) Client VM
    Benutzer-Home-Verzeichnis = C:\Users\aweissflog
    c: Konsolenfenster löschen
    f: Objekte in Finalisierungs-Queue finalisieren
    g: Garbage Collect
    h: Diese Hilfemeldung anzeigen
    l: Class Loader-Liste ausgeben
    m: Speicherauslastung drucken
    o: Logging auslösen
    q: Konsole ausblenden
    r: Policy-Konfiguration neu laden
    s: System- und Deployment-Eigenschaften ausgeben
    t: Threadliste ausgeben
    v: Thread-Stack ausgeben
    x: Class Loader-Cache leeren
    0-5: Trace-Ebene auf <n> setzen
    security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.
    security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
    security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
    security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
    security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
    security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
    security: property package.definition value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.
    security: property package.definition new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
    security: property package.definition value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
    security: property package.definition new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
    security: property package.definition value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
    security: property package.definition new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
    security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
    security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
    security: property package.definition value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
    security: property package.definition new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
    network: Created version ID: 1.7.0.05
    network: Created version ID: 1.7
    network: Cacheeintrag nicht gefunden [URL: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500, Version: null]
    cache: Cannot get resource from cache: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500
    network: Cacheeintrag nicht gefunden [URL: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500, Version: null]
    network: Cacheeintrag nicht gefunden [URL: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500, Version: null]
    network: Verbindung von http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500 mit Proxy=DIRECT wird hergestellt
    network: Verbindung von http://xxxxxxxxxxx.xxxxxxxxxxx.com:80/ mit Proxy=DIRECT wird hergestellt
    security: Blacklist-Entzugsprüfung ist aktiviert
    cache: Trying to update in place C:\Users\aweissflog\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\26\7672fd9a-3ab71d78.idx
    cache: Upgrade writing to disk for C:\Users\aweissflog\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\26\7672fd9a-3ab71d78
    network: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500 wird mit Cookie "bpLandingPage_fallback=http%253A%252F%252Fxxxxxxxxxxx.xxxxxxxxxxx.com%252F; __utma=1.1858223971.1337797861.1339681185.1339685623.36; __utmb=1.12.10.1339685623; __utmc=1; __utmz=1.1338833129.25.9.utmcsr=xxxxxxxxxxx.xxxxxxxxxxxonline.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __bpid=4fbd2a85L7T6qCGWXj0Q8oiTc5yG7ztB; drasasid=f1a4ef896018075f51bbe2c300b356ca" verbunden
    network: ResponseCode für http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500: 200
    network: Codierung für http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500: null
    network: Serverantwort: (length: 731, lastModified: Wed Jun 13 19:21:23 CEST 2012, downloadVersion: null, mimeType: application/x-java-jnlp-file)
    network: Not caching resource due to response header: cache-control: no-store
    network: Ressource wird heruntergeladen: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500
         Content-Length: 731
         Content-Encoding: null
    security: Prüfung der Liste vertrauenswürdiger Librarys ist aktiviert
    network: URL http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500 in Datei C:\Users\aweissflog\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\34\1f2e02e2-2f6a1505-temp geschrieben
    network: Verbindung mit http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500 trennen
    security: Datei mit der Liste vertrauenswürdiger Librarys wurde nicht gefunden
    network: Downloaded http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp?__cv=7833172affa6ff4e182d8b1e7ac0ebe500: C:\Users\aweissflog\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\34\1f2e02e2-2f6a1505
    temp: new XMLParser with source:
    temp: <?xml version="1.0" encoding="UTF-8" ?>
    <jnlp spec="1.0+" href="/applet/win32.jnlp">
    <information>
    <title>xxxxxxxxxxxOnlineWin32</title>
    <vendor>xxxxxxxxxxx Berlin GmbH</vendor>
    </information>
    <resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
    <jar href="/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00" main="true" />
    </resources>
    <resources os="Windows">
    <nativelib href="/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00" />
    </resources>
    <applet-desc name="xxxxxxxxxxxOnlineWin32" main-class="N3.N3JavaPiggyBack" width="800" height="600" />
    <security>
    <all-permissions />
    </security>
    </jnlp>
    temp:
    returning ROOT as follows:
    <jnlp spec="1.0+" href="/applet/win32.jnlp">
    <information>
    <title>xxxxxxxxxxxOnlineWin32</title>
    <vendor>xxxxxxxxxxx Berlin GmbH</vendor>
    </information>
    <resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00" main="true"/>
    </resources>
    <resources os="Windows">
    <nativelib href="/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00"/>
    </resources>
    <applet-desc name="xxxxxxxxxxxOnlineWin32" main-class="N3.N3JavaPiggyBack" width="800" height="600"/>
    <security>
    <all-permissions/>
    </security>
    </jnlp>
    temp: returning LaunchDesc from XMLFormat.parse():
    <jnlp spec="1.0+" codebase="http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/" href="http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp">
    <information>
    <title>xxxxxxxxxxxOnlineWin32</title>
    <vendor>xxxxxxxxxxx Berlin GmbH</vendor>
    <homepage href="null"/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <update check="timeout" policy="always"/>
    <resources>
    <java href="http://java.sun.com/products/autodl/j2se" version="1.6+"/>
    <jar href="http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00" download="eager" main="true"/>
    <nativelib href="http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00" download="eager" main="false"/>
    </resources>
    <applet-desc name="xxxxxxxxxxxOnlineWin32" main-class="N3.N3JavaPiggyBack" documentbase="http://xxxxxxxxxxx.xxxxxxxxxxx.com/game" width="800" height="600"/>
    </jnlp>
    network: Cacheeintrag gefunden [URL: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp, Version: null] prevalidated=true/0
    cache: Resource http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp has expired.
    network: Verbindung von http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp mit Proxy=DIRECT wird hergestellt
    network: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp wird mit Cookie "bpLandingPage_fallback=http%253A%252F%252Fxxxxxxxxxxx.xxxxxxxxxxx.com%252F; __utma=1.1858223971.1337797861.1339681185.1339685623.36; __utmb=1.12.10.1339685623; __utmc=1; __utmz=1.1338833129.25.9.utmcsr=xxxxxxxxxxx.xxxxxxxxxxxonline.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __bpid=4fbd2a85L7T6qCGWXj0Q8oiTc5yG7ztB; drasasid=f1a4ef896018075f51bbe2c300b356ca" verbunden
    cache: Upgrade of entry done
    cache: readIndexFile returning success
    cache: Trying to update in place C:\Users\aweissflog\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\39\1ff11027-574532ab.idx
    cache: Upgrade writing to disk for C:\Users\aweissflog\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\39\1ff11027-574532ab
    security: Datei mit der Liste vertrauenswürdiger Librarys wurde nicht gefunden
    network: ResponseCode für http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp: 304
    network: Codierung für http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp: null
    network: Verbindung mit http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp trennen
    temp: new XMLParser with source:
    temp: <?xml version="1.0" encoding="UTF-8" ?>
    <jnlp spec="1.0+" href="/applet/win32.jnlp">
    <information>
    <title>xxxxxxxxxxxOnlineWin32</title>
    <vendor>xxxxxxxxxxx Berlin GmbH</vendor>
    </information>
    <resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
    <jar href="/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00" main="true" />
    </resources>
    <resources os="Windows">
    <nativelib href="/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00" />
    </resources>
    <applet-desc name="xxxxxxxxxxxOnlineWin32" main-class="N3.N3JavaPiggyBack" width="800" height="600" />
    <security>
    <all-permissions />
    </security>
    </jnlp>
    temp:
    returning ROOT as follows:
    <jnlp spec="1.0+" href="/applet/win32.jnlp">
    <information>
    <title>xxxxxxxxxxxOnlineWin32</title>
    <vendor>xxxxxxxxxxx Berlin GmbH</vendor>
    </information>
    <resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00" main="true"/>
    </resources>
    <resources os="Windows">
    <nativelib href="/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00"/>
    </resources>
    <applet-desc name="xxxxxxxxxxxOnlineWin32" main-class="N3.N3JavaPiggyBack" width="800" height="600"/>
    <security>
    <all-permissions/>
    </security>
    </jnlp>
    temp: returning LaunchDesc from XMLFormat.parse():
    <jnlp spec="1.0+" codebase="http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/" href="http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp">
    <information>
    <title>xxxxxxxxxxxOnlineWin32</title>
    <vendor>xxxxxxxxxxx Berlin GmbH</vendor>
    <homepage href="null"/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <update check="timeout" policy="always"/>
    <resources>
    <java href="http://java.sun.com/products/autodl/j2se" version="1.6+"/>
    <jar href="http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00" download="eager" main="true"/>
    <nativelib href="http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00" download="eager" main="false"/>
    </resources>
    <applet-desc name="xxxxxxxxxxxOnlineWin32" main-class="N3.N3JavaPiggyBack" documentbase="http://xxxxxxxxxxx.xxxxxxxxxxx.com/game" width="800" height="600"/>
    </jnlp>
    cache: JNLPPreverifyClassLoader.initialize: FAILED: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00
    basic: Plugin2ClassLoader.addURL2 called for http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00
    basic: Plugin2ClassLoader.drainPendingURLs addURL called for http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00
    basic: Plugin2ClassLoader.addURL2 called for http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00
    basic: Plugin2ClassLoader.drainPendingURLs addURL called for http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00
    network: LaunchDownload: concurrent downloads from LD: 4
    network: Total size to download: -1
    security: Security check for progress jars: allSigned=true
    network: SyncFileAccess.openLock: handled OverlappingFileLockException, remainint TO : 10000
    network: Cacheeintrag gefunden [URL: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00, Version: null] prevalidated=false/0
    cache: Resource http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00 has expired.
    network: Verbindung von http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00 mit Proxy=DIRECT wird hergestellt
    network: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00 wird mit Cookie "bpLandingPage_fallback=http%253A%252F%252Fxxxxxxxxxxx.xxxxxxxxxxx.com%252F; __utma=1.1858223971.1337797861.1339681185.1339685623.36; __utmb=1.12.10.1339685623; __utmc=1; __utmz=1.1338833129.25.9.utmcsr=xxxxxxxxxxx.xxxxxxxxxxxonline.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __bpid=4fbd2a85L7T6qCGWXj0Q8oiTc5yG7ztB; drasasid=f1a4ef896018075f51bbe2c300b356ca" verbunden
    network: ResponseCode für http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00: 304
    network: Codierung für http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00: null
    network: Verbindung mit http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00 trennen
    network: Downloaded http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00: C:\Users\aweissflog\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\26\7672fd9a-3ab71d78
    network: Download Progress: jarsDone: 1
    network: Cacheeintrag nicht gefunden [URL: http://xxxxxxxxxxx-481.ah.bpcdn.net/applet/loading.gif?__cv=8948a154c2c16d3f2a836802397bee3a00, Version: null]
    network: Verbindung von http://xxxxxxxxxxx-481.ah.bpcdn.net/applet/loading.gif?__cv=8948a154c2c16d3f2a836802397bee3a00 mit Proxy=DIRECT wird hergestellt
    network: Verbindung von http://xxxxxxxxxxx-481.ah.bpcdn.net:80/ mit Proxy=DIRECT wird hergestellt
    cache: Upgrade of entry done
    cache: readIndexFile returning success
    network: CleanupThread used 403203 us
    network: Cacheeintrag gefunden [URL: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00, Version: null] prevalidated=false/0
    cache: Resource http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00 has expired.
    network: Verbindung von http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00 mit Proxy=DIRECT wird hergestellt
    network: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00 wird mit Cookie "bpLandingPage_fallback=http%253A%252F%252Fxxxxxxxxxxx.xxxxxxxxxxx.com%252F; __utma=1.1858223971.1337797861.1339681185.1339685623.36; __utmb=1.12.10.1339685623; __utmc=1; __utmz=1.1338833129.25.9.utmcsr=xxxxxxxxxxx.xxxxxxxxxxxonline.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __bpid=4fbd2a85L7T6qCGWXj0Q8oiTc5yG7ztB; drasasid=f1a4ef896018075f51bbe2c300b356ca" verbunden
    network: ResponseCode für http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00: 304
    network: Codierung für http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00: null
    network: Verbindung mit http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00 trennen
    network: Download Progress: jarsDone: 2
    network: Created version ID: 1.6+
    network: Created version ID: 1.7.0.05
    network: Created version ID: 1.7.0.05
    network: Created version ID: 1.7
    basic: LaunchDesc location: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/win32.jnlp
    network: Created version ID: 1.0+
    network: Created version ID: 7.0
    basic: Ausnahme: Nicht signierte Anwendung fordert uneingeschränkten Zugriff auf das System an
    Nicht signierte Ressource: http://xxxxxxxxxxx.xxxxxxxxxxx.com/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00.
    ExitException[ 3]JNLPException[category: Sicherheitsfehler : Exception: null : LaunchDesc:
    <jnlp spec="1.0+" href="/applet/win32.jnlp">
      <information>
        <title>xxxxxxxxxxxOnlineWin32</title>
        <vendor>xxxxxxxxxxx Berlin GmbH</vendor>
      </information>
      <resources>
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00" main="true"/>
      </resources>
      <resources os="Windows">
        <nativelib href="/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00"/>
      </resources>
      <applet-desc name="xxxxxxxxxxxOnlineWin32" main-class="N3.N3JavaPiggyBack" width="800" height="600"/>
      <security>
        <all-permissions/>
      </security>
    </jnlp> ]
         at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
         at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Ignored exception: ExitException[ 3]JNLPException[category: Sicherheitsfehler : Exception: null : LaunchDesc:
    <jnlp spec="1.0+" href="/applet/win32.jnlp">
      <information>
        <title>xxxxxxxxxxxOnlineWin32</title>
        <vendor>xxxxxxxxxxx Berlin GmbH</vendor>
      </information>
      <resources>
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="/applet/applet32.jar?__cv=d9e6e3109f4e716598e7faca54137e7e00" main="true"/>
      </resources>
      <resources os="Windows">
        <nativelib href="/applet/native32.jar?__cv=63a18d5fb09ca89e097ff6485249fdcf00"/>
      </resources>
      <applet-desc name="xxxxxxxxxxxOnlineWin32" main-class="N3.N3JavaPiggyBack" width="800" height="600"/>
      <security>
        <all-permissions/>
      </security>
    </jnlp> ]
    security: Zugriff auf Schlüssel und Zertifikat im Mozilla-Benutzerprofil: null
    security: Speicher für abgelehnte Sessionzertifikate zurücksetzen
    basic: Dialog type is not candidate for embedding

    Wouldn't it be a good idea to completely invalidate the applet cache in the JRE installer?Yes, I guess it should be an option for user of the app on first start after upgrade, not for the JRE installer. There are many large applications that users would want to avoid re-download.
    From the log, there is some hidden exception during first launch. The best way to proceed is to file a bug, including some guest/debugging access to the game.

  • Dynamic cache instantiation parameters

    I need to offer "customers" of my cloud/cache services the ability to specify some of the properties they want in caches they create.
    I am operating with the restriction that we cannot restart cluster members just for the purpose of rereading the cache-config.xml
    files. I am using Coherence Grid 3.5.2 and java.
    By way of example, let me refer to the coherence examples provided at
    [http://wiki.tangosol.com/display/COH35UG/Examples|http://wiki.tangosol.com/display/COH35UG/Examples]
    In 'examples-cache-config.xml' from that set of examples is the following scheme:
    <distributed-scheme>
    <scheme-name>ExamplesPartitionedPofScheme</scheme-name>
    <service-name>PartitionedPofCache</service-name>
    <serializer>
    <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
    <init-params>
    <init-param>
    <param-type>String</param-type>
    <param-value>examples-pof-config.xml</param-value>
    </init-param>
    </init-params>
    </serializer>
    <backing-map-scheme>
    <local-scheme>
    <high-units>250M</high-units>
    <unit-calculator>binary</unit-calculator>
    </local-scheme>
    </backing-map-scheme>
    <autostart>true</autostart>
    </distributed-scheme>
    What I want to do is create, at runtime, a relatively arbitrary set of caches
    that will have differing values for <high-units> and related parameters.
    Presumably I need to code my own calls to the LocalCache() constructor.
    That would also let me dynamically select eviction policies and unit calculators
    (via the LocalCache's implementation of ConfigurableCacheMap's setEvictionPolicy() and setUnitCalculator() methods).
    Can someone show me how to do this with the Coherence examples?
    Ultimately I need to be able to specify, for all maps on all distributed caches I support for my "customers",
    the low and high water marks, eviction policies, and perhaps some other properties, and ensure that all cluster members
    participate in identical handling of the resulting named cache to the extent that they're servicing keys for that cache.
    I tried taking my own application <distributed-scheme> definitions and constructing various
    frontMap, backMap, NearCache, NamedCache, and related goodies to assemble the cache on the fly,
    and I'm in /way/ over my head. I haven't found any online documentation on how to assemble
    things like ObserveableSplittingBackingMap objects into a hierarchy of Coherence objects.
    The logical hierarchy of Cluster->Member->Service->NamedCache elements doesn't seem to map
    well to code for assembling each of those pieces.
    Also note: the Coherence 3.5.2 docs state that <lh-file-manager> maps to com.tangosol.io.lh.LHBinaryStoreManager class,
    but there is no such class documented in the javadocs (though I see that class in the coherence.jar file).
    Thanks.

    So all I can really tweak are the high-units, low-units, and any other RW-flagged attributes of the CacheMBean types.Yes, this is correct in general.
    When I call these MBean interfaces, it has to be after the cache is created, and will affect the named cache wherever it lives
    on the cluster w.r.t. partition presence, LocalCache frontmaps, etc?These high/low unit modifications must be performed on each individual MBean representing the backing map in each storage node. The same goes for any nodes that are using near caches.
    No way to make cache eviction policy dynamic except to perhaps implement my own custom eviction class and have that
    observe some attribute I bind somewhere that's specific to a cache instance?I believe you can change the eviction policy at runtime (LRU vs LFU, etc) - if you need more control over what gets evicted then you should consider a custom eviction policy.
    I'm not very familiar with JMX. To do the high-unit low-unit tweaking must I now enable JMX where I didn't before?
    I noticed that for my testing I needed to specify -Dcom.sun.management.jmxremote and one or both of -Dtangosol.coherence.management=all -Dtangosol.coherence.management.remote=true.
    Is there a way to set high/low unit values if I'm not enabling JMX? Do I suffer any performance penalties if I enable JMX?Most of our customers in production run with JMX as it allows for statistics gathering and diagnostics of the cluster at runtime. There is no overhead in gathering the stats as this happens in the background anyway, and there is little overhead in enabling the gathering of these statistics and viewing via an MBeanServer.
    JMX is the simplest way (and the supported method) of modifying high units. If you have to do it using code, you can execute the following in the storage node to grab the backing map and modify high units. Note that this technique may not work with future versions of Coherence:
    String sCacheService = "DistributedCache";
    String sCacheName    = "test-cache";
    // ensures that the cache service is running
    CacheFactory.getCache(sCacheName);
    // grab the backing map
    CacheService service  = (CacheService) CacheFactory.getCluster().getService(sCacheService);
    LocalCache backingMap = (LocalCache)((DefaultConfigurableCacheFactory.Manager)
            service.getBackingMapManager()).getBackingMap(sCacheName);
    // modify high units
    backingMap.setHighUnits(1000);Thanks,
    Patrick

  • JNLP Caching

    I am developing a JWS application to be launched from a link sent to the user in an email. This hyperlink posts a unique ID to a servlet which returns a dynamically generated JNLP file, launching the application (which is always the same) with a number of unique system variables / parameters that tells the app what data to load (which is unique for every time).
    This works fine the first time a user does it. The second time, for some reason the old JNLP file is read, thus sending the old, wrong parameters to the JWS application. This seems to be caused by the JNLP file being cached and the self-reference of the file makes javaws read the old version instead of the new one.
    I would appreciate any help on resolving this as I have found no info on it anywhere:
    - Can Java Web Start be forced not to cache old JNLPs?
    - Can the behaviour in which a JNLP file reloads itself from the location specified by the href attribute be changed?
    - What is the point / idea of the above behaviour?
    - Why does it read my cached JNLP just because it has the same application name? Is this a bug or a feature? (If indeed it is a feature, then what is the point of being able to pass parameters to a JWS application if it can only be done once since it uses cached onese the next time??)
    - Any other ideas of a workaround for this? I obviously don't want to change the application name every time as this would result in lots of cached jars on the users computer, for no good reason. The jar IS the same every time but the location of the JNLP is NOT, nor the parameters.
    Thank you,
    Anders

    I found this to be good reading on versioning your jnlp.http://java.sun.com/products/javawebstart/docs/downloadservletguide.html

  • Iniitialising flash cache parameters

    Hi could someone please help me to set up flash cache.,..
    I have OEl 5.5 installed and patched.
    I have my SSD mounted..
    but when i ran the command 'alter system set db_flash_cache_file ='/media/ssd/' scope=spfile;'
    .... I totally messed up my database, and It wouldn't startup giving ORA-01078: failure in processing system parameters...
    I have now fixed this and am back to square one ...
    Could someone plzzzz help me set up the initialisation params?

    The Database - General or Installation might be a better forum to place this question.
    General Database Discussions
    There is too little information to analyze the problem. Do you have more info in the alert_log file? Did you also receive a ORA-00439: feature not enabled: Server Flash Cache error? Is your platform and storage supported?
    Here are some links that could help you to solve the problem:
    http://guyharrison.squarespace.com/blog/2009/11/24/using-the-oracle-11gr2-database-flash-cache.html
    Edited by: Markus Waldorf on Aug 11, 2010 5:55 PM
    I just found your other post
    Re: flash cache initialization parameters
    so this one seems obsolete.
    Edited by: Markus Waldorf on Aug 11, 2010 6:13 PM

  • JNLP installer - cached vs. non-cached resources

    Hello,
    I am currently trying to provide an installation procedure for some application. The application is in java and made of multiple jars and plugins. One constrain is that the application can launch java commands on the plugins (requiring access to jar files). Hence, I prepared an installer/updater to work with jnlp so as to install the application on the user computer. Each time the application is launched, we need to check for plugin updates and download the updates to the adequate directory before actually launching the application (via a ProcessBuilder), meaning the installer needs to be called each time the app is launched.
    I went as far as I could but get stuck on some (possibly core) concepts: I have 2 jnlp files, one being the installer, referencing the base jar resources and a jnlp plugin resource being a component.
    Through jnlp api, the installer is able to get cached resources and copy them to a given directory for the app to be launched. The main issue concerns the resources to be upgraded. Whenever new resources are present, the app do not get to see them as jnlp download them an put them in the cached resources before my installer can be launched. I thought I could use a DownloadServiceListener to get a hold on new resources, adding it as a progress-class parameter, but the service is apparently never called.
    If the resources are set to lazy, they never get to be available in either cached or available resources for upgrade...
    Here are reduced versions of the resources :
    installer :
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="6.0+" codebase="%CODEBASE%/apps/" href="">
         <information>
              <offline-allowed />
              <shortcut online="true">
                   <desktop />
                   <menu submenu="Company">
                        <menu submenu="App" />
                   </menu>
              </shortcut>
         </information>
         <security>
              <all-permissions />
         </security>
         <update check="always" policy="always" />
         <resources>
              <j2se version="1.6+" java-vm-args="" href="http://java.sun.com/products/autodl/j2se" />
              <jar href="jnlp-installer.jar" main="true" />
              <extension name="applicationResources" href="%CODEBASE%/JNLP?jnlp=resources" download="eager"/>
         </resources>
         <application-desc main-class="com.company.JnlpInstaller" name="App name" >
         </application-desc >
    </jnlp>
    plugins :
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="6.0+" codebase="%CODEBASE%" href="">
         <information>
              <offline-allowed />
         </information>
         <security>
              <all-permissions />
         </security>
         <update check="always" policy="always" />
         <resources>
              <j2se version="1.6+" java-vm-args="-d32" href="http://java.sun.com/products/autodl/j2se" />
              <jar href="../jnlp-installer.jar" />
              %RESOURCES%
         </resources>
         <component-desc progress-class="com.company.CustomDownloadServiceListener"/>
    </jnlp>
    Thanks in advance for your returns

    I am having the same jnlp cache problems and would appreciate if someone can post a solution to this.
    I use jsp to generate a value for a variable and I pass this variable to the application via the "property name".
    tag. Problem is, JavaWebStart will always use the cached jnlp even when the variable's value changes.
    Thanks for any help you can provide.
    [email protected]

  • Runtime in JNLP

    When I run below code as standalone, the notepad is coming up successfully.
    but when i run through jnlp i could only see the frame with OK button. but the note pad is not popping up.
    I run this example in eclipse.
    Example.java
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    * An Example Application
    * "Hello JNLP!"
    public class Example extends JDialog {
      JPanel panel1 = new JPanel();
      BorderLayout borderLayout1 = new BorderLayout();
      JLabel jLabel = new JLabel();
      JPanel southPanel = new JPanel();
      JButton okButton = new JButton();
      public Example(Frame frame, String title, boolean modal) {
        super(frame, title, modal);
        try {
            initUI();
            pack();
        } catch(Exception ex) {
          ex.printStackTrace();
      public Example() {
        this(null, "", true);
      void initUI() throws Exception {
           try{
                  Runtime rt = Runtime.getRuntime();
                  Process p = rt.exec("notepad");
                  }catch(Exception ex){System.out.println(ex.toString());}
        panel1.setLayout(borderLayout1);
        jLabel.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel.setHorizontalTextPosition(SwingConstants.CENTER);
        jLabel.setLabelFor(okButton);
        jLabel.setText("<html><body><h1>Hello JNLP!");
        okButton.setToolTipText("close the example dialog");
        okButton.setText("<html><body><tt>OK");
        okButton.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            dismiss();
        setTitle("Example Dialog");
          addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(WindowEvent e) {
              dismiss();
        getContentPane().add(panel1);
        panel1.add(jLabel, BorderLayout.NORTH);
        panel1.add(southPanel, BorderLayout.SOUTH);
        southPanel.add(okButton, null);
        pack();
        setVisible(true);
       * the Main method
      static public void main(String[] args) {
        Example e = new Example();
       * dismiss the dialog
      void dismiss() {
        System.exit(0);
    }Example.jnlp (/WebContent)
    <?xml version="1.0" encoding="utf-8"?>
    <!-- JNLP File for SwingSet2 Demo Application -->
    <jnlp
      spec="1.0+"
      codebase="http://localhost:8080/JnlpDemo"
      href="example.jnlp">
      <information>
        <title>Demo Application</title>
        <vendor>Sun Microsystems, Inc.</vendor>
        <description>This is a Demo Application</description>
        <description kind="short">A demo.</description>
        <icon href="images/demologo.gif"/>
        <offline-allowed/>
      </information>
      <security>
      </security>
      <resources>
        <j2se version="1.3+"/>
        <jar href="example.jar"/>
      </resources>
      <application-desc main-class="Example"/>
    </jnlp>

    >
    also I have set the permissions as <all-permissions />>When did you do that? It wasn't in the original JNLP file. If you mean since then, note that JWS can be terrible with caching JNLP files (it is hard to update the JNLP). Try establishing a new location(1) for the Java cache and try it again.
    >
    But I dont see notepad running when run in browser. >I am not sure what that means. Especially with the mention of ..
    >
    I kept the jnlp jar in the lib folder of my web application ..>..'web application'. Do you mean you are launching the JNLP from a link in a web page? Or something else?
    (1) Another poster mentioned making sure you see the Java Console when you launch the app., and I have mentioned changing the cache location. Both of these are configured in the [Java Control Panel|http://java.sun.com/docs/books/tutorial/information/player.jnlp] (JCP).
    Set cache location
    After clicking that link, the JCP should be open, probably pointing to the Java Cache Viewer. Close the cache viewer and click 'Settings' in the Temporary Internet Files section to Change the cache location.
    Configure the console to pop up
    Navigate to the Advanced tab of the JCP. Expand the Settings tree to show the Java Console group, and ensure the Show Console option is selected.
    Note that your original code should have been dumping the Exception.toString() to the System.out, but I recommend you change that to dump the exception stacktrace instead. It is more informative.
    I also have some example build/source for doing a trusted project, but I think it is more productive to get this one working.
    But just to check one thing. Are you being prompted to run the digitally signed code?

  • Can the application shortcut point to an actual URL instead of the cache

    Hi,
    I am pretty new to Webstart and am trying to figure out if the application shortcut can actually point to some URL like http://www.something.com/abc.jnlp
    instead of pointing to some value in the cache. I would like to know if this is possible and if so how can I achieve this - also will doing this if possible always download all the application jars regardless of whether they have been cached or not. Any pointers will be highly appreciated.
    thanks

    The shortcut that JWS creates actually does point to your URL -- in a round about way.
    When you first run the application it pulls down the jnlp and all the files for your application (jars, etc) and places them in the cache directory.
    The shortcut points to the cache area where these files were downloaded to and the jnlp file is in here (somewhere - I have yet to figure out how the cache works). Your jnlp file has your root URL and JWS (if set in your jnlp) will always try to go to your URL and check if there are newer files.
    Technically, there is no reason to have it point straight to your URL since it is in the cached jnlp file and it will check if it needs an update. One interesting side note is that sometimes the desktop shortcut created during application install just disappears. I'm not sure why and I don't think the Sun dev team can fix that since they recently add a "Create shortcut for application" button in the javaws application console.
    One thing that we do for our customers is to simply create a web shortcut that point directlys to our servers jnlp (which is more or less what your are looking to do). You can't get JWS to do this for you -- it would be counter to the idea of being able to run the application locally, which would be needed if there is no network available.
    If you do not want to have the user cache (install) the application then you might want to look at the JWS console settings -- maybe turn cache down to 0 -- but the shortcut will always point to a local jnp I think.
    If anyone can comment on any of these details I would like to hear if I have this all 100% and any other details on these things
    ref: [http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html|http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html]

  • Cache-control, Expires headers

    I want JNLP files and JAR files to be cached by JNLP clients, but I want to prevent them from being cached in a browser / proxy server / ISP server of some sort (anything that would prevent the JNLP client from getting updates).
    To stop a web page being cached I typically use the following:
    response.setDateHeader("Expires", 1L);
    // Set standard HTTP/1.1 no-cache headers.
    response.setHeader(
    "Cache-Control", "no-store, no-cache, must-revalidate");
    // Set IE extended HTTP/1.1 no-cache headers (use addHeader).
    response.addHeader("Cache-Control", "post-check=0, pre-check=0");
    // HTTP 1.0 header
    response.setHeader("Pragma", "no-cache");This works well in stopping caching of web-pages, and it doesn't stop the Sun Java Web Start client (JRE 1.5) from caching JNLP / JAR files (I don't think it's actually checking any of the above headers).
    However, I have read that setting the above headers can cause problems. Does anyone know the official line on this? I couldn't find anything in the JNLP spec.
    If it makes a difference, the app will be deployed only on JRE 1.4 or later.

    LateNightMovies,
    > Hi, thanks for your reply (and sorry for posting my
    question
    > twice)...
    No worries. :)
    > ** unfortunately, your solution doesn't work.
    It's possible I didn't understand what you're after.
    > My objective is to "not have the page stored" (saved) in
    the
    > cache (it contains data I don't want stored in client
    browsers).
    Aha. Nine times out of ten, when people say they want to
    want to avoid
    cacheing, what they mean is, "Get Flash to always ask for new
    data," which
    is what that blog entry describes. If it's important that the
    data not be
    cached at all....
    > Adding a ? var - does ensure the page is always
    retrieved
    > from the server - but it still gets saved in the browser
    cache.
    Right.
    > Eg. my url = page.asp?param=# (random number)
    >
    > The browser cache (Content.IE subdirectories) fill up
    with
    > files = page[1].html, page[2].html, page[3].html,....
    Yup. Well, shoot. This question isn't something I can just
    roll off
    the top of my head, then. :-/ I should think that your HTML
    header would
    take care of that.
    Are you appending the random number in your LoadVars method
    calls? The
    HTML page shouldn't be refreshing at all.
    I know a few people I can ask for futher input, and I'll
    report back to
    this thread.
    David Stiller
    Adobe Community Expert
    Dev blog,
    http://www.quip.net/blog/
    "Luck is the residue of good design."

  • Table buffer instead of application cache?

    Hello guys!
    I have some questions about table buffering instead of DAO application cache:
    1.- Wich one is the most suggested in a app scenario where only app params & catalogs are used as reference for my process and i'm not expecting changes in my info.
    2.- Wath if i use both alternatives at the same time? (regarding on the app admin tasks of my app-cache)
    3.- It's not a convenient choice using Table buffering with tables that hold a large amount of data?
    Thanks in advance!
    Julio C.

    The shortcut that JWS creates actually does point to your URL -- in a round about way.
    When you first run the application it pulls down the jnlp and all the files for your application (jars, etc) and places them in the cache directory.
    The shortcut points to the cache area where these files were downloaded to and the jnlp file is in here (somewhere - I have yet to figure out how the cache works). Your jnlp file has your root URL and JWS (if set in your jnlp) will always try to go to your URL and check if there are newer files.
    Technically, there is no reason to have it point straight to your URL since it is in the cached jnlp file and it will check if it needs an update. One interesting side note is that sometimes the desktop shortcut created during application install just disappears. I'm not sure why and I don't think the Sun dev team can fix that since they recently add a "Create shortcut for application" button in the javaws application console.
    One thing that we do for our customers is to simply create a web shortcut that point directlys to our servers jnlp (which is more or less what your are looking to do). You can't get JWS to do this for you -- it would be counter to the idea of being able to run the application locally, which would be needed if there is no network available.
    If you do not want to have the user cache (install) the application then you might want to look at the JWS console settings -- maybe turn cache down to 0 -- but the shortcut will always point to a local jnp I think.
    If anyone can comment on any of these details I would like to hear if I have this all 100% and any other details on these things
    ref: [http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html|http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html]

  • What HTTP caching headers will prevent iPhoto from re-downloading each image in a "Photo Feed" every time it checks the feed for new content?

    I've noticed a practical issue with iPhoto's File->"Subscribe to Photo Feed..." feature.
    Every time that iPhoto checks a subscribed RSS Photo Feed for new content it will re-download each and every photo in the feed.  This occurs even if iPhoto has already downloaded each image, they all have unique GUIDs set, and no content in the feed has changed since the last time it polled for it.
    My best guess is that this happens if the server offering the feed does not produce the proper cache-control parameters in the HTTP Headers that are sent by the server when the RSS feed is accessed by iPhoto.
    Does anyone know what parameter/value pairs need to be set in the HTTP headers to prevent iPhoto from re-downloading RSS enclosures that it already has?
    This is a very practical problem for feeds with a large number of photos of large file size.  Besides the obvious massive waste of bandwidth, the user receives an annoying error whenever they try to quit iPhoto before the feed and all of it's images have been re-downloaded yet again.

    Here is an example of the HTTP headers for two of the images in the feed.
    Any red flags in there that you think might be causing iPhoto to think it needs to re-download the images after it's already downloaded them once?
    HTTP/1.1 200 OK
    Content-Length: 1251893
    Date: Fri, 27 Jan 2012 15:37:49 GMT
    Server: Apache
    Set-Cookie: PHPSESSID=1b9d47ae170ba8c0a088ab7124a1677e; path=/
    Expires: Mon, 24 Jan 2022 15:37:49 GMT
    Cache-Control: max-age=315360000,public
    Pragma: public
    Last-Modified: Thu, 26 Jan 2012 23:34:38 GMT
    Accept-Ranges: none
    Connection: close
    Content-Type: image/jpeg;
    HTTP/1.1 200 OK
    Content-Length: 744151
    Date: Fri, 27 Jan 2012 15:39:01 GMT
    Server: Apache
    Set-Cookie: PHPSESSID=086c112f99ccecc266a47d66d6b47733; path=/
    Expires: Mon, 24 Jan 2022 15:39:01 GMT
    Cache-Control: max-age=315360000,public
    Pragma: public
    Last-Modified: Thu, 26 Jan 2012 02:54:40 GMT
    Accept-Ranges: none
    Connection: close
    Content-Type: image/jpeg;

  • No update-check on JNLP-file when start from other location than codebase

    we are using JWS version 1.0 and 1.4.2.
    Our clients have a common directory on the local disc which contains all the JNLP-files used in their organization. Some menu-links and some other applications are using this JNLP-files to launch and jump into the applications.
    The JNLP-file repository is provided by an http-URL location. The JNLP-files in the local directory are directed by the codebase-attribute to this repository.
    JWS processes the launch in following way:
    1. read the codebase and href-attribute from the launched JNLP-file.
    2. get timestamp from the original in the JNLP-repository
    3. check if already cached and with latest timestamp.
    4. download JNLP-file if not cached or not latest version.
    5. check/download all other resources.
    6. start the app.
    With JWS shipped with JRE 1.5 (Beta was fine) this doesnt work in the same procedure:
    1. copy the launched JNLP-file in the empty JWS-cache.
    2. set a new timestamp on the cached JNLP-file (it does not let the old timestamp).
    3. get timestamp from the original in the JNLP-repository (given with the codebase & href attribute)
    4. check if already cached and with the latest timestamp.
    5. download JNLP-file if not cached or not latest version. (will never appear because timestamp in cached version is newer)
    6. check/download all other resources.
    7. start the app. (with probably not latest resources)
    Is this behaviour ok or is this a Bug?

    hi Andy,
    we tried with 1.5.0_04, 1.5.0_06 and 1.5.0_07 and it was always the same problem.
    With the beta 1.5.0 (jawaws.jar's build.id = b64, 15/09/2004) it worked correctly.
    Roland.

Maybe you are looking for

  • Dual Screen monitor Question

    I have desktop split across two monitors(1s a tv) I've already setup Quicktime play in fullscreen on monitor two(tv) but I'd like to be able to have the second monitor turn off after a while when in fullscreen. Is there any setting/plugin/app that'll

  • Procedure with Array IN parameter

    Hi, I have requirement to create a procedure that accepts an Array as IN parameter , Query a table using this array and return the result as refcursor . please suggest the best approach . i tried to get it as below but not working . CREATE OR REPLACE

  • Help on Oracle Golden Gate [SQL Server to Oracle Database]

    Hi, I am planning to use Oracle Golden Gate to replicate data from SQl Server 2008 to Oracle database. I had below queries which I wanted to get clarity on before making a decision. It would be very helpful if anyone can clarify this - Can I set-up O

  • Is it possible to total the amount of time from a particular calender?

    I was just wondering if it was possible to get the total number of hours associated with a particular calendar. Say for the work calender, could I get iCal to spit back to me the total number of hours from all the events for that calender during a pa

  • Deactivate Acrobat before upgrading to new version?

    I am about to upgrade from Acrobat 9 to Acrobat XI. When installing Acrobat XI, will I be prompted to uninstall the previous version? Or will the upgrade installation automatically uninstall the previous version during the upgrade installation proces