Domanda

Ho due software che comunica utilizzando gli oggetti RMI. Io ho un'interfaccia, una classe di implementazione e la classe stub generata.

ho riconosciuto, che alcuni cambiamenti nella classe impl mi prendono per creare una nuova classe stub.

La mia domanda è, quali cambiamenti posso fare senza ri-compilare nuovamente lo stub?

Per quanto riguarda quello che so:

  • Non riesco a cambiare la struttura metodo (Aggiungere, rimuovere, i metodi di cambiamento)
  • Posso aggiungere serialVersionUID alle classi la classe impl sta usando?
  • Posso cambiare le classi della classe impl è utilizzare?
  • Posso documentare l'impl e tutte le classi utilizzate?

pongo questa domanda, perché ho fatto un cambiamento all'inizio di questa settimana e ora, la connessione RMI è rotto. Ma aggiungo solo commenti e aggiornato il mio checkstyle. Quindi aggiungo seriali UID versione e cambiato alcune classi per essere definitiva.

È stato utile?

Soluzione

Hai solo bisogno di eseguire nuovamente rmic e generare le vostre classi di implementazione se si cambia ogni firma del metodo, tra cui l'aggiunta e la cancellazione. Il codice generato collega semplicemente un oggetto chiamata remota alla realizzazione effettiva, tramite i metodi definiti per la classe.

Ciò significa che è possibile modificare il codice impl (tranne metodo firme) e il codice di qualsiasi classe utilizzato dalla classe impl senza problema. Se queste classi utilizzate in sede di attuazione sono anche parte della vostra firma del metodo, quindi saranno necessari versioni corrette sul lato client in modo che corrisponda l'implementazione remota, ma questo è niente di RMI specifico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top