2016-05-28 7 views
0

Ich habe folgendes Problem:erstellen RMIServer während Remote-Aufruf

  • Zwei Knoten (A, B)
  • A ein RMI-Client B RMI-Server
  • A ruft eine Remote-Methode auf B verbunden ist
  • während der Invokation, ändert B einige Variablen und sollte einen RMI-Server

Das Problem ist, dass ich einen RMI-Server während eines remot erstellen kann nicht erstellen e call (gefeuert von A, das mit B verbindet). Der neue RMI-Server sollte auf dem lokalen Host von B erstellt werden (sonst erhalte ich einen Fehler: java.rmi.AccessException: Registry.Registry.rebind nicht erlaubt).

Also, was ist die Lösung dafür? Ich dachte über etwas wie das Planen einer Aufgabe in einem anderen Thread, der auf B ausgeführt wird, nachdem es die Remotemethodeaufruf von A empfängt. Ist das möglich?

Antwort

0

Sie haben das Problem falsch angegeben. Sie können einen RMI-Server während eines Remote-Methodenaufrufs erstellen. Ihr Problem besteht darin, dass Sie nicht an eine Registrierung binden können, die auf einem Remote-Host ausgeführt wird.

Dies kann nur bedeuten, dass es Ihr Client ist, der die Bindung durchführt.

Die Lösung besteht darin, den neuen Server binden zu lassen, oder die Remote-Methode, die es erstellt, tun.