Frage

Ich habe zwei-Anwendung, die unter Verwendung von RMI Objekten in Verbindung steht. Ich habe eine Schnittstelle, eine Implementierungsklasse und die generierte Stub-Klasse.

Ich erkennen, dass einige Änderungen in der impl Klasse mich nehmen eine neue Stub-Klasse zu erstellen.

Meine Frage ist, welche Änderungen ich wieder ohne erneute Kompilierung des Stub machen?

Was Was ich weiß:

  • Ich kann die Methode Struktur ändern (Hinzufügen, entfernen, ändern Methoden)
  • Kann ich serialVersionUID Klassen hinzufügen die impl Klasse verwendet?
  • Kann ich ändern Klassen der impl-Klasse mit?
  • Kann ich die impl und alle verwendeten Klassen dokumentieren?

Ich stelle diese Frage, weil ich eine Änderung zu Beginn dieser Woche tat und jetzt ist die RMI Verbindung unterbrochen. Aber ich nur hinzufügen, Kommentare und meine check aktualisiert. So i serielle Version UIDs hinzufügen und änderte einige Klassen endgültig sein.

War es hilfreich?

Lösung

Sie müssen nur rmic erneut ausführen und Ihre Bereitstellung Klassen generieren, wenn Sie irgendeine Methode Signatur ändern, einschließlich dem Hinzufügen und Löschen. Der generierte Code einfach verknüpft ein Fernaufrufobjekt der tatsächlichen Implementierung über die definierten Methoden für die Klasse.

Dies bedeutet, dass Sie den impl Code (außer Methodensignaturen) ändern und den Code jeder Klasse durch die impl Klasse ohne Probleme verwendet. Wenn diese Klassen durch die Implementierung verwendet auch ein Teil Ihrer Methodensignatur sind, dann wird die richtige Version auf der Clientseite erforderlich sein, um die Remote-Implementierung anzupassen, aber das ist nichts RMI spezifisch ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top