目次 | 前の項目 | 次の項目 | Java Remote Method Invocation |
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
メソッドは、指定された名前にバインドされたリモートオブジェクトを返します。リモートオブジェクトは、リモートインタフェースのセットを実装します。クライアントは、リモートオブジェクトを希望するリモートインタフェースにキャストすることができます。ただし、このキャストは、 Java 言語におけるキャストと同様の理由で失敗することがあります。
bind
メソッドは、名前をリモートオブジェクト obj に関連付けます。その名前がすでにオブジェクトにバインドされている場合は、AlreadyBoundExcepton がスローされます。
rebind
メソッドは、名前をリモートオブジェクト obj と関連付けます。それ以前にバインドが存在する場合、その名前に対する古いバインドは破棄されます。
unbind
メソッドは、名前とリモートオブジェクト obj の間のバインドを削除します。その名前にバインドが存在していなかった場合は、NotBoundException がスローされます。
list
メソッドは、レジストリに結び付けられている名前のスナップショットを String の配列として返します。戻り値は、レジストリの内容のスナップショットを含んでいます。クライアントがレジストリにアクセスする場合は、LocateRegistry と Registry インタフェース、または URL ベースの java.rmi.Naming クラスのメソッドを使うことができます。レジストリは
bind
、unbind
、およびrebind
をサポートします。ただし、サーバとして機能する同一のホスト上にあるクライアントからしかサポートしません。ルックアップは、任意のホストから実行可能です。