tylerdurden83
15-02-2010, 15:18
Ho appena notato un comportamento curioso di JNLP (premessa, sono relativamente nuovo alla tecnologia solo recentemente suggeritami qui (http://www.hwupgrade.it/forum/showthread.php?t=2137879))
Il mio jnlp è il seguente:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+"
codebase="http://195.168.1.204/RealTime/"
href="realtime-webstart.jnlp">
<information>
<title>Real Time Online</title>
<description>The Real Time Monitoring RIA</description>
<vendor>Robertetti</vendor>
<offline-allowed/>
</information>
<security>
<all-permissions />
</security>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="WebStartRealTime.jar" main="true" />
<jar href="ucp.jar" />
<jar href="ojdbc14.jar" />
<jar href="Resources.jar" />
<jar href="Monitoring_Administrator.jar" />
</resources>
<application-desc
name="Real Time Online Application"
main-class="webstartrealtime.Main"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>
Ho capito bene come funziona il meccanismo di caching, ma pensavo riguardasse solo ed esclusivamente l'applicazione, non pensavo che venisse cachato anche il jnlp. Che senso ha cachare anche il jnlp? Il problema è nato quando il jnlp sopra è diventato:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+"
codebase="http://195.168.1.204/RealTime/"
href="realtime-webstart.jnlp">
<information>
<title>Real Time Online</title>
<description>The Real Time Monitoring RIA</description>
<vendor>Robertetti</vendor>
<offline-allowed/>
<shortcut online="true">
<desktop/>
</shortcut>
</information>
<security>
<all-permissions />
</security>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="WebStartRealTime.jar" main="true" />
<jar href="ucp.jar" />
<jar href="ojdbc14.jar" />
<jar href="Resources.jar" />
<jar href="Monitoring_Administrator.jar" />
</resources>
<application-desc
name="Real Time Online Application"
main-class="webstartrealtime.Main"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>
Finchè non ho svuotato dalla cache di java web start l'applicazione, il collegamento sul desktop non veniva creato. Ho letto del caching dei file jnlp (cosa che ero certo non succedesse), rimosso dalla cache di java web start l'applicazione, rilanciata e ha funzionato.
Il jnlp dovrebbe essere riletto ogni volta, altrimenti che senso ha ad esempio mettere nuovi jar nel jnlp per effettuare update se tanto non legge il nuovo jnlp e quindi non li scarica?
Il mio jnlp è il seguente:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+"
codebase="http://195.168.1.204/RealTime/"
href="realtime-webstart.jnlp">
<information>
<title>Real Time Online</title>
<description>The Real Time Monitoring RIA</description>
<vendor>Robertetti</vendor>
<offline-allowed/>
</information>
<security>
<all-permissions />
</security>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="WebStartRealTime.jar" main="true" />
<jar href="ucp.jar" />
<jar href="ojdbc14.jar" />
<jar href="Resources.jar" />
<jar href="Monitoring_Administrator.jar" />
</resources>
<application-desc
name="Real Time Online Application"
main-class="webstartrealtime.Main"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>
Ho capito bene come funziona il meccanismo di caching, ma pensavo riguardasse solo ed esclusivamente l'applicazione, non pensavo che venisse cachato anche il jnlp. Che senso ha cachare anche il jnlp? Il problema è nato quando il jnlp sopra è diventato:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+"
codebase="http://195.168.1.204/RealTime/"
href="realtime-webstart.jnlp">
<information>
<title>Real Time Online</title>
<description>The Real Time Monitoring RIA</description>
<vendor>Robertetti</vendor>
<offline-allowed/>
<shortcut online="true">
<desktop/>
</shortcut>
</information>
<security>
<all-permissions />
</security>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="WebStartRealTime.jar" main="true" />
<jar href="ucp.jar" />
<jar href="ojdbc14.jar" />
<jar href="Resources.jar" />
<jar href="Monitoring_Administrator.jar" />
</resources>
<application-desc
name="Real Time Online Application"
main-class="webstartrealtime.Main"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>
Finchè non ho svuotato dalla cache di java web start l'applicazione, il collegamento sul desktop non veniva creato. Ho letto del caching dei file jnlp (cosa che ero certo non succedesse), rimosso dalla cache di java web start l'applicazione, rilanciata e ha funzionato.
Il jnlp dovrebbe essere riletto ogni volta, altrimenti che senso ha ad esempio mettere nuovi jar nel jnlp per effettuare update se tanto non legge il nuovo jnlp e quindi non li scarica?