目次 | 前の項目 | 次の項目 | Java Remote Method Invocation |
Registry
インタフェースjava.rmi.registry.Registry
リモートインタフェースにより、レジストリの内容のルックアップ、バインド、リバインド、アンバインド、および受信のためのメソッドが提供されます。java.rmi.Naming
クラスは、registry
リモートインタフェースを使って、URL に基づく命名法を提供します。
package java.rmi.registry; public interface Registry extends java.rmi.Remote {public static final int REGISTRY_PORT = 1099;
public java.rmi.Remote lookup(String name) throws java.rmi.RemoteException, java.rmi.NotBoundException, java.rmi.AccessException; public void bind(String name, java.rmi.Remote obj) throws java.rmi.RemoteException, java.rmi.AlreadyBoundException, java.rmi.AccessException; public void rebind(String name, java.rmi.Remote obj) throws java.rmi.RemoteException, java.rmi.AccessException; public void unbind(String name) throws java.rmi.RemoteException, java.rmi.NotBoundException, java.rmi.AccessException; public String[] list() throws java.rmi.RemoteException, java.rmi.AccessException; }
REGISTRY_PORT
は、レジストリのデフォルトポートです。
lookup
メソッドは、指定された「名前」にバインドされたリモートオブジェクトを返します。リモートオブジェクトは、リモートインタフェースのセットを実装します。クライアントは、リモートオブジェクトを希望するリモートインタフェースにキャストすることができます。ただし、このキャストは、ClassCastException
の場合と同様の理由で失敗することがあります。
bind
メソッドは、名前をリモートオブジェクト obj に関連付けます。その名前がすでにオブジェクトにバインドされている場合は、AlreadyBoundException
がスローされます。
rebind
メソッドは、名前をリモートオブジェクト obj と関連付けます。それ以前にバインドが存在する場合、その名前に対する古いバインドは破棄されます。
unbind
メソッドは、名前とリモートオブジェクト obj の間のバインドを削除します。その名前がオブジェクトにバインドされていない場合は、NotBoundException
がスローされます。
list
メソッドは、レジストリに結び付けられている名前のスナップショットを含むString
の配列を返します。戻り値は、レジストリの内容のスナップショットを含んでいます。クライアントがレジストリにアクセスするには、
LocateRegistry
およびRegistry
インタフェース、または URL ベースのjava.rmi.Naming
クラスのメソッドを使用します。レジストリはbind
、unbind
、およびrebind
をサポートしますが、サーバと同一のホスト上にあるクライアントからのものに制限されます。ルックアップは、任意のホストから実行可能です。