Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    passare un riferimento di un oggetto ad un metodo remoto

    ciao a tutti, vi spiego la mia situazione.
    Avrei bisogno di passare un riferimento di un oggetto come parametro ad un metodo remoto.. vorrei che le modifiche fatte lato server si ripercuotessero anche lato client.. ovviamente non è possibile con Serializable.. e non posso nemmeno avere 2 oggetti nell'rmi..

    un esempio in breve:
    ho una ditta che è l'oggetto remoto (server) e nell'rmi posso "pubblicizzare" solo questo oggetto. Poi ho una classe "Base" con un campo dati "string nome" e un'altra classe "Camion", entrambe lato client. Quando creo una base dovrei tenere un riferimento ad essa sull'oggetto remoto ditta. Quando creo un Camion invece, dovrei inoltrare la richiesta alla ditta (passandogli come parametro una stringa rappresentante il nome) che mi dice se è presente una base con quel nome e nel caso affermativo mi ritorna un riferimento a questa base.

    come faccio? è un requisito di un progetto scolastico ma non capisco..

  2. #2
    vi prego qualcuno risponda, devo consegnare il progetto mercoledi..

  3. #3
    grazie mille per le risposte..

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da ninitrote
    grazie mille per le risposte..
    Non so se l'hai notato, ma siamo sotto le feste Natalizie / Capodanno... la gente, solitamente, ha altro da fare che navigare nel forum. Quindi, porta pazienza, che questo non è un servizio di consulenza.

    Ad ogni modo, per far sì che l'oggetto venga passato come riferimento e non come copia, deve essere definito di tipo Remote (ovvero, deve implementare l'interfaccia Remote).

    E' descritto anche nel tutorial su RMI: http://docs.oracle.com/javase/tutori...lementing.html (sezione "Passing Objects in RMI").

    (era sufficiente una banalissima ricerca con Google, per arrivare alla tanto sospirata soluzione).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    se lo dichiaro remote però devo inserirlo nell'rmiregistry?

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da ninitrote
    se lo dichiaro remote però devo inserirlo nell'rmiregistry?
    Sì.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    e allora siamo al punto di prima.. mi sembra di averlo scritto nella domanda che non potevo inserirlo nell'rmiregistry..
    deduco quindi che non sia possibile.

    grazie

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da ninitrote
    e allora siamo al punto di prima.. mi sembra di averlo scritto nella domanda che non potevo inserirlo nell'rmiregistry..
    deduco quindi che non sia possibile.

    grazie
    Mi era sfuggito che non potevi avere altri oggetti nell'rmiregistry.
    Ergo, no, non è possibile ed è ovvio: non puoi avere un'istanza "modificabile" senza che il server, in qualche modo, la conosca. L'alternativa è avere oggetti serializzabili che vengono modificati e restituiti come nuova copia, ma non è la stessa cosa.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.