2016-08-26 11 views
0

リモートオブジェクトのスタブのインスタンスがどこに作成されるかわかりません。 Naming.bindを呼び出してrmiregistryに登録するときに作成されますか?レジストリもRMI経由で呼び出されるため、これは意味をなさないでしょう。スタブがRMIでインスタンス化される場所

しかし、UnicastRemoteObject.exportObjectを呼び出すことによってスタブを作成することはできませんか?

この特定のコードスニペットfrom oracleが私を混同:

Compute engine = new ComputeEngine(); 
Compute stub = (Compute) UnicastRemoteObject.exportObject(engine, 0); 
String name = "Compute"; 
Registry registry = LocateRegistry.getRegistry(); 
registry.rebind(name, stub); 

Naming.bindを使用して、私はスタブまたはリモートオブジェクトを渡す必要がありますか?

答えて

1

スタブは、あなたが例えばリモートメソッドのパラメータまたは結果として、リモートオブジェクトを渡す場合、リモートオブジェクトの代わりに、リモートオブジェクト

  • をエクスポートするときに作成

    1. ありますレジストリ内でバインドまたは参照するとき。

    Naming.bind()を使用して、私はスタブまたはリモートオブジェクトを渡す必要がありますか?

    いずれかです。 (2)のために重要ではない。