モジュール java.corba
パッケージ javax.rmi

クラスPortableRemoteObject



  • public class PortableRemoteObject
    extends Object
    サーバー実装オブジェクトは、javax.rmi.PortableRemoteObjectを継承するか、あるいはリモート・インタフェースを実装してexportObjectメソッドを使用して、このオブジェクト自体をサーバー・オブジェクトとして登録します。 toStubメソッドはサーバー実装を受け取り、そのサーバー・オブジェクトへのアクセスに使用できるスタブを返します。 接続メソッドはRemoteオブジェクトをリモート通信可能な状態にします。 unexportObjectメソッドは、サーバー・オブジェクトの登録解除に使われ、サーバー・オブジェクトをガベージ・コレクションで使用できるようにします。 narrowメソッドはオブジェクト参照または抽象インタフェース・タイプを取り込み、それをナロー変換して指定されたインタフェースに一致させようとします。 操作が完了すると指定されたタイプのオブジェクトになり、そうでない場合は例外がスローされます。

    「RMI-IIOP開発者向けガイド」も参照してください。

    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected PortableRemoteObject​()
      exportObject(this)を呼び出してオブジェクトを初期化します。
    • メソッドのサマリー

      すべてのメソッド staticメソッド 具象メソッド 
      修飾子と型 メソッド 説明
      static void connect​(Remote target, Remote source)
      リモート通信準備のできたリモート・オブジェクトを作成します。
      static void exportObject​(Remote obj)
      サーバー・オブジェクトがリモート呼出しを受信できるようにします。
      static Object narrow​(Object narrowFrom, Class narrowTo)
      リモート・インタフェースまたは抽象インタフェースのオブジェクトを目的のタイプにキャストできることを確認します。
      static Remote toStub​(Remote obj)
      指定されたサーバー・オブジェクトのスタブを返します。
      static void unexportObject​(Remote obj)
      サーバー・オブジェクトをランタイムから登録解除し、そのオブジェクトがガベージ・コレクションの対象となるようにします。
    • コンストラクタの詳細

      • PortableRemoteObject

        protected PortableRemoteObject​()
                                throws RemoteException
        exportObject(this)を呼び出してオブジェクトを初期化します。
        例外:
        RemoteException - エクスポートに失敗した場合。
    • メソッドの詳細

      • exportObject

        public static void exportObject​(Remote obj)
                                 throws RemoteException
        サーバー・オブジェクトがリモート呼出しを受信できるようにします。 PortableRemoteObjectのサブクラスの場合、このメソッドはコンストラクタが呼び出すので、呼び出す必要はありません。
        パラメータ:
        obj - エクスポート対象のサーバー・オブジェクト。
        例外:
        RemoteException - エクスポートに失敗した場合。
      • toStub

        public static Remote toStub​(Remote obj)
                             throws NoSuchObjectException
        指定されたサーバー・オブジェクトのスタブを返します。
        パラメータ:
        obj - スタブを必要とするサーバー・オブジェクト。 PortableRemoteObjectのサブクラスであるか、あるいはこれまでにexportObject(java.rmi.Remote)呼出しのターゲットとなっていることが必要。
        戻り値:
        オブジェクトの最上位派生スタブ。
        例外:
        NoSuchObjectException - 指定されたサーバー・オブジェクトにスタブを配置できない場合。
      • unexportObject

        public static void unexportObject​(Remote obj)
                                   throws NoSuchObjectException
        サーバー・オブジェクトをランタイムから登録解除し、そのオブジェクトがガベージ・コレクションの対象となるようにします。
        パラメータ:
        obj - アンエクスポートするオブジェクト。
        例外:
        NoSuchObjectException - リモート・オブジェクトが現在エクスポートされていない場合。
      • narrow

        public static Object narrow​(Object narrowFrom,
                                    Class narrowTo)
                             throws ClassCastException
        リモート・インタフェースまたは抽象インタフェースのオブジェクトを目的のタイプにキャストできることを確認します。
        パラメータ:
        narrowFrom - チェック対象のオブジェクト。
        narrowTo - 目的のタイプ。
        戻り値:
        目的のタイプにキャストできるオブジェクト。
        例外:
        ClassCastException - narrowFromをnarrowToにキャストできない場合。
      • connect

        public static void connect​(Remote target,
                                   Remote source)
                            throws RemoteException
        リモート通信準備のできたリモート・オブジェクトを作成します。 通常、リモート・メソッドの呼出しでオブジェクトが引数として送信または受信された場合に暗黙的に通信可能な状態になりますが、状況によっては明示的に呼び出してこの動作を行うのに役立ちます。 詳細は、Stub.connect(org.omg.CORBA.ORB)メソッドを参照してください。
        パラメータ:
        target - 接続対象のオブジェクト。
        source - すでに接続されているオブジェクト。
        例外:
        RemoteException - sourceが接続されていない場合、またはtargetsource以外のORBに接続されている場合。