JavaTM 2
Platform
Std. Ed. v1.4.0

java.rmi
クラス Naming

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

public final class Naming
extends Object

Naming クラスは、リモートオブジェクトレジストリでリモートオブジェクトへの参照を格納し、取得するためのメソッドを提供します。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 - この操作が許可されていない場合
MalformedURLException - 名前が適切な形式の URL でない場合
導入されたバージョン:
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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.