| 目次 | 前の項目 | 次の項目 | 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をサポートしますが、サーバと同一のホスト上にあるクライアントからのものに制限されます。ルックアップは、任意のホストから実行可能です。