Ich entwickle ein System, das RMI-Aktivierung verwendet, um eine Reihe von ähnlichen, aber unabhängigen Komponenten in ihren eigenen JVMs zu isolieren, so dass, wenn man (a) stürzt nicht das gesamte System herunterfahren und (b) es wird beim nächsten Mal automatisch neu gestartet werden. Ich registriere eine Aktivierungsgruppe pro Komponente, und dann möchte ich das aktivierbare Objekt innerhalb dieser Gruppe registrieren. Mit Blick auf die öffentlichen APIs scheint es zwei Möglichkeiten, zu sein, wie ein ActivationDesc
mit dem Aktivierungssystem registrieren:Wie erzeuge ich sowohl stub als auch die ActivationID bei der Registrierung aktivierbaren Objekts
ActivationGroup.getSystem().registerObject
, die dieActivationID
zurückgibt, die Sie benötigen, wenn Sie das ObjektActivatable.register
anschließend Registrierung aufgehoben werden soll, was einen Stub zurückgibt, durch den das entfernte Objekt aktiviert und aufgerufen werden kann.
Aber ich kann nicht einen Weg durch die öffentlichen APIs finden, um sowohl den Stummel und die ID für die gleiche Anmeldung - Ich kann keine offensichtliche Art und Weise sehen eine clientseitige Stub für eine ActivationID
gegeben zu erhalten (ohne den Aktivator tatsächlich zu kontaktieren und das entfernte Objekt an diesem Punkt zu aktivieren, was ActivationID.activate
tun würde), noch die ActivationID
eines gegebenen Stubs zu erhalten.
Was fehlt mir? Gibt es eine Möglichkeit, dies zu tun, ohne sich in interne sun.*
APIs vertiefen zu müssen?