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

導入されたバージョン:
1.1
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    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)
    リモート・オブジェクトに関連した指定された名前に対するバインディングを破棄します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • メソッドの詳細

    • lookup

      指定された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