Java プラットフォーム 1.2

java.rmi
クラス Naming

java.lang.Object
  |
  +--java.rmi.Naming

public final class Naming
extends Object

リモートオブジェクトレジストリでリモートオブジェクトへの参照を格納し、取得するためのメソッドを提供します。Naming クラスのメソッドは、その引数の 1 つとして、URL 形式の java.lang.String である次のような名前をとります。

    //host:port/name
 

host はレジストリのある (リモートまたはローカル) ホスト、port はレジストリが呼び出しを受け付けるポート番号、name はレジストリによって解釈されない単純な文字列です。host および port の指定は省略可能です。host を省略すると、デフォルトでローカルホストが使われます。port を省略すると、ポートはデフォルトで 1099 になります。これは、RMI のレジストリ rmiregistry が使う「よく知られた」ポートです。

リモートオブジェクトの名前の「バインディング」とは、あとでこのリモートオブジェクトを検して使うことができるように、リモートオブジェクトに名前を関連付ける、あるいは登録することをいいます。Naming クラスの bind メソッドまたは rebind メソッドを使って、リモートオブジェクトを名前と関連付けることができます。

リモートオブジェクトがローカルホストで RMI レジストリに登録 (バインディング) されると、リモート (またはローカル) ホストの呼び出し側は名前でリモートオブジェクトを参照し、その参照を取得し、そのオブジェクトでリモートメソッドを呼び出すことができます。レジストリはホストで動作しているすべてのサーバで共有でき、必要な場合は、個々のサーバプロセスが独自のレジストリを作成および使用することもできます。詳細は、java.rmi.registry.LocateRegistry.createRegistry メソッドを参照してください。

導入されたバージョン:
JDK1.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)
          リモートオブジェクトと関連付けられている指定された名前へのバインドを破棄します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

lookup

public static Remote lookup(String name)
                     throws NotBoundException,
                            MalformedURLException,
                            RemoteException
指定された name と関連付けられているリモートオブジェクトスタブへの参照を返します。
パラメータ:
name - リモートオブジェクトに対する URL 形式の名前
戻り値:
リモートオブジェクトへの参照
例外:
NotBoundException - 名前が現在バインドされていない場合
RemoteException - レジストリにアクセスできない場合
AccessException - この操作が許可されていない場合 (たとえば、ローカルではないホストからくるものの場合)
導入されたバージョン:
JDK1.1

bind

public static void bind(String name,
                        Remote obj)
                 throws AlreadyBoundException,
                        MalformedURLException,
                        RemoteException
指定された name をリモートオブジェクトにバインドします。
パラメータ:
name - リモートオブジェクトに対する URL 形式の名前
obj - リモートオブジェクトへの参照 (通常はスタブ)
例外:
AlreadyBoundException - 名前がすでにバインドされている場合
MalformedURLException - 名前が適切に構成された URL ではない場合
RemoteException - レジストリに接続できない場合
AccessException - このオペレーションが許可されていない場合 (たとえば、ローカルではないホストからくるものの場合)
導入されたバージョン:
JDK1.1

unbind

public static void unbind(String name)
                   throws RemoteException,
                          NotBoundException,
                          MalformedURLException
リモートオブジェクトと関連付けられている指定された名前へのバインドを破棄します。
パラメータ:
name - リモートオブジェクトと関連付けられている URL 形式の名前
例外:
NotBoundException - 名前が現在バインドされていない場合
MalformedURLException - 名前が適切に構成された URL ではない場合
RemoteException - レジストリに接続できない場合
AccessException - このオペレーションが許可されていない場合 (たとえば、ローカルではないホストからくるものの場合)
導入されたバージョン:
JDK1.1

rebind

public static void rebind(String name,
                          Remote obj)
                   throws RemoteException,
                          MalformedURLException
指定された名前を新しいリモートオブジェクトにバインドし直します。その名前の既存のバインドはすべて置き換えられます。
パラメータ:
name - リモートオブジェクトと関連付けられている URL 形式の名前
obj - 名前と関連付けられる新しいリモートオブジェクト
例外:
MalformedURLException - 名前が適切に構成された URL ではない場合
RemoteException - レジストリに接続できない場合
AccessException - このオペレーションが許可されていない場合 (たとえば、ローカルではないホストからくるものの場合)
導入されたバージョン:
JDK1.1

list

public static String[] list(String name)
                     throws RemoteException,
                            MalformedURLException
レジストリでバインドされている名前の配列を返します。それらの名前は、URL 形式の文字列です。配列には、呼び出しの時点でレジストリに存在する名前のスナップショットが格納されます。
パラメータ:
name - リモートレジストリを指定する URL 形式の名前
戻り値:
レジストリでバインドされている名前 (適切な URL 形式) の配列
例外:
MalformedURLException - 名前が適切に構成された URL ではない場合
RemoteException - レジストリに接続できない場合
導入されたバージョン:
JDK1.1

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.