java.lang.Object
java.rmi.Naming
public final class Naming extends Object
Naming
クラスは、リモート・オブジェクト・レジストリ内のリモート・オブジェクトへの参照を取得および格納するためのメソッドを提供します。 Naming
クラスの各メソッドは、その引数の1つとして、次のようなjava.lang.String
型のURL形式(ただしスキーム・コンポーネントは除く)の名前をとります。
//host:port/name
host
はレジストリのある(リモートまたはローカル)ホスト、port
はレジストリが呼出しを受け入れるポート番号、name
はレジストリによって解釈されない単純な文字列です。 host
およびport
の指定はオプションです。 host
を省略すると、デフォルトでローカル・ホストが使われます。 port
を省略すると、ポートはデフォルトで1099になります。これは、RMIのレジストリrmiregistry
が使う「よく知られた」ポートです。
リモート・オブジェクトの名前のバインディングとは、あとでこのリモート・オブジェクトを検索して使うことができるように、リモート・オブジェクトに名前を関連付ける、あるいは登録することをいいます。 Naming
クラスのbind
メソッドまたはrebind
メソッドを使って、リモート・オブジェクトを名前と関連付けることができます。
リモート・オブジェクトがローカル・ホストでRMIレジストリに登録(バインディング)されると、リモート(またはローカル)ホストの呼出し側は名前でリモート・オブジェクトを参照し、その参照を取得し、そのオブジェクトでリモート・メソッドを呼び出すことができます。 レジストリはホストで動作しているすべてのサーバーで共有でき、必要な場合は、個々のサーバー・プロセスが独自のレジストリを作成および使用することもできます。詳細は、java.rmi.registry.LocateRegistry.createRegistry
メソッドを参照してください。
- 導入されたバージョン:
- 1.1
- 関連項目:
Registry
,LocateRegistry
,LocateRegistry.createRegistry(int)
-
メソッドのサマリー
修飾子と型 メソッド 説明 static void
bind(String name, Remote obj)
指定されたname
をリモート・オブジェクトにバインドします。static String[]
list(String name)
レジストリ内のバインドされている名前の配列を返します。static Remote
lookup(String name)
指定されたname
に関連したリモート・オブジェクトの参照(スタブ)を返します。static void
rebind(String name, Remote obj)
指定された名前を新しいリモート・オブジェクトにバインドし直します。static void
unbind(String name)
リモート・オブジェクトに関連した指定された名前に対するバインディングを破棄します。
-
メソッドの詳細
-
lookup
public static Remote lookup(String name) throws NotBoundException, MalformedURLException, RemoteException指定されたname
に関連したリモート・オブジェクトの参照(スタブ)を返します。- パラメータ:
name
- URL形式の名前(ただしスキーム・コンポーネントは除く)- 戻り値:
- リモート・オブジェクトの参照
- 例外:
NotBoundException
- 名前がバインドされていない場合RemoteException
- レジストリに接続できない場合AccessException
- この操作が許可されていない場合MalformedURLException
- 名前が適切な形式のURLでない場合- 導入されたバージョン:
- 1.1
-
bind
public static void bind(String name, Remote obj) throws AlreadyBoundException, MalformedURLException, RemoteException指定されたname
をリモート・オブジェクトにバインドします。- パラメータ:
name
- URL形式の名前(ただしスキーム・コンポーネントは除く)obj
- リモート・オブジェクトの参照(通常はスタブ)- 例外:
AlreadyBoundException
- 名前がすでにバインドされている場合MalformedURLException
- 名前が適切な形式のURLでない場合RemoteException
- レジストリに接続できない場合AccessException
- この操作が許可されていない場合(たとえば、ローカルではないホストから操作している場合)- 導入されたバージョン:
- 1.1
-
unbind
public static void unbind(String name) throws RemoteException, NotBoundException, MalformedURLExceptionリモート・オブジェクトに関連した指定された名前に対するバインディングを破棄します。- パラメータ:
name
- URL形式の名前(ただしスキーム・コンポーネントは除く)- 例外:
NotBoundException
- 名前がバインドされていない場合MalformedURLException
- 名前が適切な形式のURLでない場合RemoteException
- レジストリに接続できない場合AccessException
- この操作が許可されていない場合(たとえば、ローカルではないホストから操作している場合)- 導入されたバージョン:
- 1.1
-
rebind
public static void rebind(String name, Remote obj) throws RemoteException, MalformedURLException指定された名前を新しいリモート・オブジェクトにバインドし直します。 名前に対する既存のバインディングは置き換えられます。- パラメータ:
name
- URL形式の名前(ただしスキーム・コンポーネントは除く)obj
- 名前に関連付ける新しいリモート・オブジェクト- 例外:
MalformedURLException
- 名前が適切な形式のURLでない場合RemoteException
- レジストリに接続できない場合AccessException
- この操作が許可されていない場合(たとえば、ローカルではないホストから操作している場合)- 導入されたバージョン:
- 1.1
-
list
public static String[] list(String name) throws RemoteException, MalformedURLExceptionレジストリ内のバインドされている名前の配列を返します。 名前は、URL形式(ただしスキーム・コンポーネントは除く)の文字列です。 配列には、呼出しの時点でレジストリに存在する名前のスナップショットを格納します。- パラメータ:
name
- URL形式のレジストリ名(ただしスキーム・コンポーネントは除く)- 戻り値:
- レジストリ内のバインドされている名前(適切な形式)の配列
- 例外:
MalformedURLException
- 名前が適切な形式のURLでない場合RemoteException
- レジストリに接続できない場合。- 導入されたバージョン:
- 1.1
-