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
- 関連項目:
-
メソッドの詳細
-
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
-