next up previous
: オブジェクトリファレンスの参照 : オブジェクトリファレンス : ネーミング・サービスの実行

オブジェクトリファレンスの登録

サーバ側のプログラムでリモートオブジェクトをネーミング・サービスに登録するには, java.rmi.Namingクラスのbind()またはrebind()メソッドを用いる.

この二つのメソッドは,bind()ではすでに同じオブジェクトリファレンスで登録 されたリモートオブジェクトがあった場合はエラーになるが,rebind()の場合は エラーにならずに新しいものに置き換えるという違いがある.

bind()rebind()の第一引数には,オブジェクトの場所をURL形式で以下 のように指定する.


    //host:port/name
ここで host はリモートオブジェクトが動作している計算機の名前であり,これ を省略するとローカルホストが用いられる. port はネーミング・サービスがサービスしているポート番号で, [*]章でRMIレジストリを実行する際に指定したポート番号などを 指定する. これを省略した場合にはデフォルトのポート番号である 1099 が利用される. nameはリモートオブジェクトに対応した任意の文字列で,プログラマが自由に指 定することができる.

bind()rebind()の第二引数には,登録するリモートオブジェクトを指定 する.

例えばあるリモートオブジェクト objcsux05 という名前の計算機の ポート番号 1100 に,HelloObj という名前で登録するには,以下のよ うに記述する.




\begin{boxedminipage}{13.7cm}
\begin{alltt}
\relax{}
\\ Naming.rebind(''//csux05:1100/HelloObj'', obj);
\\
\\ \relax \end{alltt}\end{boxedminipage}



U-GM\murao 平成14年7月12日