モジュール java.rmi
パッケージ java.rmi.activation

インタフェースActivator

すべてのスーパー・インタフェース:
Remote

@Deprecated(forRemoval=true,
            since="15")
public interface Activator
extends Remote
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
詳細は、java.rmi.activationパッケージ仕様を参照してください。
Activatorは、リモート・オブジェクトの起動を簡単にします。 「フォルト」リモート参照は、アクティベータのactivateメソッドを呼び出して、「起動可能な」リモート・オブジェクトへの「ライブ」参照を取得します。 起動の要求を受け取ったアクティベータは、起動識別子idの起動記述子を探してから、グループを決定します。そのグループでは、起動されるオブジェクトが、newInstanceメソッドの呼出しを通じてグループのActivationInstantiatorを使い、オブジェクトの再作成を開始します。 必要であれば、アクティベータは起動グループの実行を開始します。 たとえば、特定のグループ識別子の起動グループがまだ実行中でない場合は、アクティベータがそのグループのVMの実行を開始します。

Activatorは、グループ内のグループとオブジェクトを登録する手段を提供するActivationSystemと、アクティブ・オブジェクトと非アクティブ・オブジェクト、および非アクティブ・グループに関する情報を受け取るActivationMonitorと緊密に連携します。

アクティベータは、起動グループが失敗した場合の監視および検出を行い、グループおよびそのグループ内の起動中のオブジェクトへの無効なリモート参照を削除できるようにします。

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

    修飾子と型 メソッド 説明
    MarshalledObject<? extends Remote> activate​(ActivationID id, boolean force)
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    起動識別子idに関連したオブジェクトを起動します。
  • メソッドの詳細

    • activate

      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      起動識別子idに関連したオブジェクトを起動します。 そのオブジェクトが起動していることをアクティベータが認識していて、forceの値がfalseの場合は、「ライブ」参照のスタブが即座に呼出し元に返されます。それ以外の場合で、対応するリモート・オブジェクトが起動していることをアクティベータが認識していなければ、アクティベータは以前に登録された起動記述子の情報を使って、オブジェクトが起動される場所となるグループ(VM)を決定します。 オブジェクトのグループ記述子に対応するActivationInstantiatorがすでに存在する場合、アクティベータは起動グループのnewInstanceを呼び出し、それにオブジェクトのIDおよび記述子を渡します。

      オブジェクトのグループ記述子が使う起動グループがまだ存在しない場合、アクティベータは、子プロセスの生成などにより、ActivationInstantiatorの実行を開始します。 アクティベータは、ActivationSystemactiveGroupメソッドにより起動グループの参照が含まれる起動グループのコールバックを受け取ると、その起動インスタンシエータのnewInstanceメソッドを呼び出して、保留状態になっている各起動要求を起動グループに転送し、結果(整列化されたリモート・オブジェクト参照、つまりスタブ)を呼出し側に返すことができます。

      アクティベータはリモート・オブジェクトではなく「整列化された」オブジェクトを受け取るので、そのオブジェクトのコードをロードする必要はなく、オブジェクトの分散ガベージ・コレクションに関与する必要もありません。 リモート・オブジェクトへの強い参照を保持していれば、通常の分散ガベージ・コレクション・メカニズムの下では、アクティベータはリモート・オブジェクトがガベージ・コレクトされるのを防ぐことができます。

      パラメータ:
      id - 起動されるオブジェクトの起動識別子
      force - trueの場合、アクティベータはグループに接続してリモート・オブジェクトの参照を取得する。それ以外の場合は、キャッシュされた値を戻り値として使用できる。
      戻り値:
      整列化された形式のリモート・オブジェクト(スタブ)
      例外:
      ActivationException - オブジェクトの起動に失敗した場合
      UnknownObjectException - オブジェクトが不明な(登録されていない)場合
      RemoteException - リモート呼出しが失敗した場合
      導入されたバージョン:
      1.2