|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jan 2007
Messaggi: 16
|
[JAVA] richiamare una particolare istanza di un oggetto
Ciao a tutti.
Sto sviluppando un web service in java ed ho questo problema : Il client si connette al web service e attraverso il metodo remoto client.runInstrument() crea un instanza di un oggetto e inizia la sua esecuzione (lato web service). Fatto cio il client si disconnette. Ora quando il client si riconnette al web service, esiste un modo per recuperare quella particolare instanza creata dal metodo precedente??????????. Avevo pensato che il metodo runInstrument potrebbe restiuire un qualche cosa del tipo oggetto.toString e in effetti restituisce qualkosa tipo un seriale dell'oggetto ma cmq nn saprei come richiamare qualla particolare istanza dell' oggetto. Grazie mille in anticipo ps Se sono stato poco chiaro (cosa probabile) ditemelo e cerchero di spiegarmi meglio |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2788
|
Non so se ho capito bene, l'istanza che vuoi recuperare si trova ancora sul webservice ma non sai come riconoscerla? Oppure non si trova più sul webservice e quindi non sai come fare per salvarla e recuperarla dopo?
|
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Jan 2007
Messaggi: 16
|
Quote:
Instrument boat=getInstance("nomeIstanza"); dal client . GetInstance invece è un metodo remoto. se nn mi sono ancora spiegato bene dimmelo.. ci riprovo |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2788
|
Beh, mi sembra che l'idea del toString che dicevi nel primo post potesse andare, oppure più semplicemente puoi usare l'hashcode (che comunque è incluso nel toString di default).
Mi sa che però non ho ancora capito il problema, perché altrimenti avresti già risolto no? |
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: Jan 2007
Messaggi: 16
|
Quote:
lato client chiamo runInstrument che è un metodo remoto (quindi lato webService) che istanzia un oggetto di tipo instrument. runInstrument(){ Instrument instrument=new Instrument(....); instrument.run(); istanza=instrument.toString(); return istanza } disconnetto il client e mi riconnetto ora voglio accedere a quell'oggetto instrument (propio l'istanza precedente) per fare ad esempio un destroy destroyInstrument(String istanza){ Instrument instrument=getInstance(istanza); instrument.destroy(); } Quello che cerco è che non ho è il metodo getInstance o qualcosa di simile. Se neanche mi sono spiegato bene dimmelo ci riprovo. |
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
che io sappia , se non hai una variabile che punta a una particolare istanza , quella istanza e persa , scusate l'ignoranza ma come volete far assegnare una istanza a una variabile ( anche avendo il suo indirizzo di memoria ) , e se poi quella istanza non esistese + ?
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2788
|
Quote:
Quindi instrument va dichiarato fuori dal metodo. Se ci sono tanti client che si connettono al webservice allora dovrai avere una collection di instrument. Quando poi vuoi recuperarne uno usi la chiave hash e la confronti con le hashkey dei vari instrument nella collection fino a trovare quello giusto. Spero di aver capito bene stavolta |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
concordo con wingman87 del fatto che devi mantenere il riferimento alle instanze
per farlo ti conviene comunque di utilizzare magari una Map con delle chiavi che generi tu, e per complertare il tutto magari la Map la inserisci all'interno di un singleton che ti fa anche da factory. |
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Jan 2007
Messaggi: 16
|
ragazzi credo di aver risolto.
Come consigliato da voi ho fatto una collection di strumenti lato web service e quindi facilmente li recupepro. grazie mille |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:33.




















