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
メソッドを参照してください。
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)
リモートオブジェクトに関連した指定された名前に対するバインディングを破棄します。
|
public static Remote lookup(String name) throws NotBoundException, MalformedURLException, RemoteException
name
に関連したリモートオブジェクトの参照 (スタブ) を返します。name
- URL 形式の名前 (ただしスキームコンポーネントは除く)NotBoundException
- 名前がバインドされていない場合RemoteException
- レジストリに接続できない場合AccessException
- この操作が許可されていない場合MalformedURLException
- 名前が適切な形式の URL でない場合public static void bind(String name, Remote obj) throws AlreadyBoundException, MalformedURLException, RemoteException
name
をリモートオブジェクトにバインドします。name
- URL 形式の名前 (ただしスキームコンポーネントは除く)obj
- リモートオブジェクトの参照 (通常はスタブ)AlreadyBoundException
- 名前がすでにバインドされている場合MalformedURLException
- 名前が適切な形式の URL でない場合RemoteException
- レジストリに接続できない場合AccessException
- この操作が許可されていない場合 (たとえば、ローカルではないホストから操作している場合)public static void unbind(String name) throws RemoteException, NotBoundException, MalformedURLException
name
- URL 形式の名前 (ただしスキームコンポーネントは除く)NotBoundException
- 名前がバインドされていない場合MalformedURLException
- 名前が適切な形式の URL でない場合RemoteException
- レジストリに接続できない場合AccessException
- この操作が許可されていない場合 (たとえば、ローカルではないホストから操作している場合)public static void rebind(String name, Remote obj) throws RemoteException, MalformedURLException
name
- URL 形式の名前 (ただしスキームコンポーネントは除く)obj
- 名前に関連付ける新しいリモートオブジェクトMalformedURLException
- 名前が適切な形式の URL でない場合RemoteException
- レジストリに接続できない場合AccessException
- この操作が許可されていない場合 (たとえば、ローカルではないホストから操作している場合)public static String[] list(String name) throws RemoteException, MalformedURLException
name
- URL 形式のレジストリ名 (ただしスキームコンポーネントは除く)MalformedURLException
- 名前が適切な形式の URL でない場合RemoteException
- レジストリに接続できない場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.