目次 | 前の項目 | 次の項目 Java Remote Method Invocation


6.1 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 クラスのメソッドを使用します。レジストリは bindunbind、および rebind をサポートしますが、サーバと同一のホスト上にあるクライアントからのものに制限されます。ルックアップは、任意のホストから実行可能です。



目次 | 前の項目 | 次の項目
Copyright © 1997-1999 Sun Microsystems, Inc. All Rights Reserved.