2012-01-08 4 views
5

Ho preso in carico la manutenzione di una vecchia applicazione Web, che utilizza più applet incorporate nella stessa pagina web. Funzionava bene, ma poiché è stato introdotto il plug-in Java di nuova generazione (~ 1.6.0_10), le singole applet non sono garantite per il caricamento nella stessa istanza JVM. Se caricano in JVM diverse, non possono comunicare attraverso AppletContext.getApplets() o attraverso variabili statiche.Forza le applet da caricare nella stessa istanza JVM?

Esiste un modo per forzare il caricamento delle applet nella stessa istanza JVM? Ho visto una soluzione alternativa in cui specificare il parametro identico 'java_arguments' potrebbe incoraggiare il plugin Java a eseguire applet nella stessa istanza JVM, ma questo non funziona per la nostra applicazione (e in ogni caso non è ufficialmente supportato da Oracle e quindi potrebbe scomparire tempo in ogni caso).

Abbiamo anche provato a sostituire la comunicazione diretta da applet a applet con la comunicazione indiretta da applet a JavaScript a applet, ma non possiamo usare questo approccio in quanto i nostri client utilizzano vecchie versioni del browser Web che impediscono questo lavoro. Sarei curioso di evitare di instradare tutte le comunicazioni dell'applet-applet locali attraverso un server non locale se possibile.

+0

Sarebbero tutti nella stessa JVM se un 'applet controller' li ha caricati tutti e quattro in aree separate del proprio riquadro del contenuto. Perché le applet devono essere incorporate in una pagina Web? –

+0

Devono essere incorporati nella pagina poiché ogni applet fornisce parte del contenuto della pagina, ma separati da altri elementi di contenuto web "normale". Non un design brillante, bisogna ammetterlo, ma è quello che abbiamo. Spero di sostituire tutte le applet con equivalenti JS alla fine, ma dovrò fare questa applet alla volta. – jmt

+0

Ho anche pensato che l'approccio di Andrew Thompson fosse possibile ... Caricare l'applet del controller, caricare le sotto-applet, caricare il contenuto della pagina in un pannello che rende il normale contenuto web? Hai il controllo su altri contenuti, layout di pagina, ecc.? Elenca tutte le altre restrizioni che dobbiamo imporre o possiamo rilassare, indipendentemente da quanto sia ottuso :) Altrimenti, se non sei esplicitamente coperto da http://www.java.net/node/695065, potresti essere un SoL. – ccoakley

risposta

1

Abbiamo avuto un problema simile e abbiamo risolto il problema disabilitando il plug-in Java di "nuova generazione" nel pannello di controllo Java.

+1

Grazie; l'ho provato e sembrava forzare tutto in una VM. Non credo che saremo in grado di costringere i nostri clienti a farlo, poiché sono distribuiti in una vasta gamma di organizzazioni e hanno workstation bloccate. Quindi, almeno ora abbiamo una soluzione alternativa che possiamo raccomandare ai clienti. Se si sente parlare di altri metodi che non richiedono all'utente di modificare le impostazioni sarei interessato a sapere, in quanto sarebbe una vendita molto più semplice. – jmt