|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
|
[Java] RMI
Salve,
sto sviluppando una piccola applicazione java per giocare alla battaglia navale. Sto avendo problemi con l'rmi: Codice:
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: navale.Gui_Stub Un altro problemino, ho visto un'applicazione molto simile alla mia che non fa uso del policy file, l'autore mi ha spiegato che ha dato tutti i permessi all'applet da codice..vi sembra possibile? effettivamente girava senza policy file grazie, Francesco |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Ciao,
effettivamente l'eccezione e' dovuta al fatto che non trova lo stub. Veramente strano... inoltre dici che al riavvio le cose funzionano correttamente. Una domanda: questo stub e' messo staticamente nella directory adeguata oppure lo scarichi dinamicamente, per esempio attraverso un server web? Se fai delle modifiche che non comportano la generazione di un nuovo stub, funziona ancora? Funziona solo la prima volta che riavvi? Funziona ancora una volta che lo generi nuovamente? Per quanto riguarda il file di policy... me lo sono sempre generato e non mi sono mai chiesto se era possibile fare le stesse cose programmaticamente. La cosa e' interessante, se hai qualche info in piu', per favore, pubblicala High Flying Sottovento
__________________
In God we trust; all others bring data |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
In effetti servirebbe qualche informazione in piu',
tipo tutto lo stack trace dell'eccezione. Immagino userai un registro rmi, come lo avvii? Inoltre usi java5 o precedenti?
__________________
|Java Base| |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
|
sono un cretino, davvero.
Era solo una questione di classpath :-) l'rmi registry lo lancio da "esegui", esistono modi "migliori" o semplicemente più veloci? è possibile lanciarlo dall'applicazione stessa? mi chiedevo una cosa: quando andrò a creare un pacchetto di installazione della mia applicazione come farò a far settare il classpath della mia applicazione? esiste una maniera più elegante per far sì che, cliccando su gioco.exe faccia il tutto? (lanciare l'rmi registry, settare la path, lanciare il gioco (applet)) in ultimo: Quote:
Note Nell'esempio precedente si è utilizzato il J2SE 1.5.0_06 che solleva il programmatore dal compito di creare lo skeleton e lo stub necessari alla tecnologia RMI. Qualora si utilizzasse una versione più vecchia di JRE, bisognerà, invece, avvalersi del comando rmic per produrre queste due classi. Nel caso si utilizzino due macchine distinte per l'applicazione server e per quella client, sarà necessario copiare l'interfaccia remota ISquareRoot anche sul client. vi risulta? se non registro con rmic a me dà errore grazie mille Ultima modifica di DarkSiDE : 07-07-2006 alle 11:41. |
|
|
|
|
|
|
#5 | ||
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Quote:
Quote:
Codice:
Registry reg = LocateRegistry.createRegistry(port); pacchetto jar. In genere puoi fare tutto (lanciare registri, fare rmic, ecc) con un buildfile di ant. Per il fatto del policy specificato da programma sono curioso anche io...
__________________
|Java Base| |
||
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
|
Quote:
mi spieghi la storia del file ant? grazie Ultima modifica di DarkSiDE : 07-07-2006 alle 11:44. |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Quote:
E' comunque necessario generarli se si intendono supportare client pre-1.5. Non ho capito perche' ti da errore, spiegati meglio. Tieni conto che se rmiregistry prima di java5 non doveva vedere gli stub nel classpath, ora sono le classi di implementazione delle interfacce remote che non devono essere viste dal registro (una volta che il registro vede le classi di implementazione gli stub possono essere automaticamente generate da esse).
__________________
|Java Base| |
|
|
|
|
|
|
#8 | ||
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Quote:
Codice:
// creo il server unicast, esporto su porta 1200
MiaInterfaccia srv = new MioServer(1200);
Registry reg = LocateRegistry.createRegistry();
reg.rebind("MioServer", srv);
Quote:
http://ant.apache.org/ [sborone] Nella mia guida (vedi sito in firma) trovi un capitoletto dedicato ad Ant [/sborone]
__________________
|Java Base| |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:10.











|








