JavaTM Platform
Standard Ed. 6

java.rmi
クラス Naming

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 メソッドを参照してください。

導入されたバージョン:
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 形式のレジストリ名 (ただしスキーム要素は除く)
戻り値:
レジストリ内のバインドされている名前 (適切な形式) の配列
例外:
MalformedURLException - 名前が適切な形式の URL でない場合
RemoteException - レジストリに接続できない場合
導入されたバージョン:
JDK1.1

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 も参照してください。