|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface Registry
Registry は、単純なリモートオブジェクトレジストリに対するリモートインタフェースで、任意の文字列名にバインドされたリモートオブジェクト参照を格納および取得するためのメソッドを提供します。bind、unbind、および rebind メソッドは、レジストリ内のネームバインディングを変更するときに使用し、lookup および list メソッドは、現在のネームバインディングを照会するときに使用します。
Registry は通常、RMI クライアントのブートストラップを有効にします。クライアントは、リモートオブジェクトへの初期参照を起動時に取得します。このため、レジストリのリモートオブジェクト実装は通常、既知のアドレス (既知の ObjID など) および TCP ポート番号 (デフォルトは 1099) とともにエクスポートされます。
LocateRegistry クラスでは、リモートアドレスにある Registry へのブートストラップ参照を構築する API (static getRegistry メソッドを参照) と、現在の VM に Registry を作成して特定のローカルアドレスにエクスポートする API (static createRegistry メソッドを参照) を利用できます。
Registry の実装では、一部またはすべてのメソッドに対するアクセスを制限できます。たとえば、レジストリのバインディングを変更するメソッドは、ローカルホストからの呼び出しに制限できます。特定の Registry メソッドが特定の呼び出しのアクセスを拒否した場合、AccessException がスローされます。この例外は RemoteException の拡張であるため、リモートクライアントにキャッチされると ServerException にラップされます。
Registry でバインディングに使用する名前は、純粋な文字列で、解析されません。Registry にサービスへのリモート参照を格納するときは、レジストリ内での名前の重複を減らすために、ネームバインディングの接頭辞としてパッケージ名を使用することをお勧めします。
LocateRegistry| フィールドの概要 | |
|---|---|
static int |
REGISTRY_PORT
レジストリによく使われるポートです。 |
| メソッドの概要 | |
|---|---|
void |
bind(String name,
Remote obj)
リモート参照を、このレジストリ内の特定の name にバインドします。 |
String[] |
list()
このレジストリ内にバインドされた名前の配列を返します。 |
Remote |
lookup(String name)
このレジストリ内の特定の name にバインドされているリモート参照を返します。 |
void |
rebind(String name,
Remote obj)
このレジストリ内の特定の name へのバインディングを特定のリモート参照に置き換えます。 |
void |
unbind(String name)
このレジストリの特定の name へのバインディングを削除します。 |
| フィールドの詳細 |
|---|
static final int REGISTRY_PORT
| メソッドの詳細 |
|---|
Remote lookup(String name)
throws RemoteException,
NotBoundException,
AccessException
name にバインドされているリモート参照を返します。
name - 検索するリモート参照の名前
NotBoundException - name がバインドされていない場合
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
NullPointerException - name が null の場合
void bind(String name,
Remote obj)
throws RemoteException,
AlreadyBoundException,
AccessException
name にバインドします。
name - リモート参照に関連付ける名前obj - リモートオブジェクトへの参照 (通常はスタブ)
AlreadyBoundException - name がすでにバインドされている場合
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する (ローカルでないホストからアクセスしようとした場合など)
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
NullPointerException - name が null、または obj が null の場合
void unbind(String name)
throws RemoteException,
NotBoundException,
AccessException
name へのバインディングを削除します。
name - 削除するバインディングの名前
NotBoundException - name がバインドされていない場合
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する (ローカルでないホストからアクセスしようとした場合など)
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
NullPointerException - name が null の場合
void rebind(String name,
Remote obj)
throws RemoteException,
AccessException
name へのバインディングを特定のリモート参照に置き換えます。その name にすでにバインディングが設定されている場合は、破棄されます。
name - リモート参照に関連付ける名前obj - リモートオブジェクトへの参照 (通常はスタブ)
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する (ローカルでないホストからアクセスしようとした場合など)
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
NullPointerException - name が null、または obj が null の場合
String[] list()
throws RemoteException,
AccessException
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。