JavaTM Platform
Standard Ed. 6

java.rmi.registry
インタフェース Registry

すべてのスーパーインタフェース:
Remote

public interface Registry
extends Remote

Registry は、単純なリモートオブジェクトレジストリに対するリモートインタフェースで、任意の文字列名にバインドされたリモートオブジェクト参照を格納および取得するためのメソッドを提供します。bindunbind、および 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 にサービスへのリモート参照を格納するときは、レジストリ内での名前の衝突を減らすために、ネームバインディングの接頭辞としてパッケージ名を使用することをお勧めします。

導入されたバージョン:
JDK1.1
関連項目:
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 へのバインディングを削除します。
 

フィールドの詳細

REGISTRY_PORT

static final int REGISTRY_PORT
レジストリによく使われるポートです。

関連項目:
定数フィールド値
メソッドの詳細

lookup

Remote lookup(String name)
              throws RemoteException,
                     NotBoundException,
                     AccessException
このレジストリ内の特定の name にバインドされているリモート参照を返します。

パラメータ:
name - 検索するリモート参照の名前
戻り値:
リモートオブジェクトへの参照
例外:
NotBoundException - name がバインドされていない場合
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
NullPointerException - namenull の場合

bind

void bind(String name,
          Remote obj)
          throws RemoteException,
                 AlreadyBoundException,
                 AccessException
このレジストリ内の特定の name にリモート参照をバインドします。

パラメータ:
name - リモート参照に関連付ける名前
obj - リモートオブジェクトへの参照 (通常はスタブ)
例外:
AlreadyBoundException - name がすでにバインドされている場合
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する (たとえば、ローカルではないホストから操作している場合)
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
NullPointerException - namenull、または objnull の場合

unbind

void unbind(String name)
            throws RemoteException,
                   NotBoundException,
                   AccessException
このレジストリの特定の name へのバインディングを削除します。

パラメータ:
name - 削除するバインディングの名前
例外:
NotBoundException - name がバインドされていない場合
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する (たとえば、ローカルではないホストから操作している場合)
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
NullPointerException - namenull の場合

rebind

void rebind(String name,
            Remote obj)
            throws RemoteException,
                   AccessException
このレジストリ内の特定の name へのバインディングを特定のリモート参照に置き換えます。その name にすでにバインディングが設定されている場合は、破棄されます。

パラメータ:
name - リモート参照に関連付ける名前
obj - リモートオブジェクトへの参照 (通常はスタブ)
例外:
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する (たとえば、ローカルではないホストから操作している場合)
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合
NullPointerException - namenull、または objnull の場合

list

String[] list()
              throws RemoteException,
                     AccessException
このレジストリ内にバインドされた名前の配列を返します。配列には、このメソッドを呼び出した時点でレジストリ内にバインドされている名前のスナップショットが含まれます。

戻り値:
このレジストリ内にバインドされた名前の配列
例外:
RemoteException - レジストリとのリモート通信に失敗した場合。AccessException を含む ServerException 例外の場合、レジストリはこの操作を実行する呼び出し側アクセスを拒否する
AccessException - ローカルレジストリがこの操作を実行する呼び出し側アクセスを拒否した場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。