- すべての実装されたインタフェース:
- Serializable,- ActivationInstantiator,- Remote
ActivationGroupは、グループ内の「起動可能な」オブジェクトの新しいインスタンスを生成し、グループのActivationMonitorに対して、オブジェクトの起動や停止、あるいはグループ全体の停止を通知します。 
 ActivationGroupは最初、次のどれかの方法で作成します。 
- グループ内の最初の起動可能なオブジェクト用にActivationDesc(明示的なActivationGroupIDなし)を作成した副作用として
- ActivationGroup.createGroupメソッドを使用
- ActivationGroupDescの登録のみが行われているグループ内の最初のオブジェクトを起動した副作用として
 アクティベータだけが、ActivationGroupを作成し直すことができます。 必要に応じてアクティベータは、登録された起動グループごとに別個のVMを子プロセスなどとして生成し、起動要求を適切なグループにリダイレクトします。 VMを生成する方法は、実装によって異なります。 起動グループは、staticメソッドActivationGroup.createGroupにより作成します。 createGroupメソッドには、作成するグループに関して、1)グループはActivationGroupの具象サブクラスでなければならない、2)グループは次の2つの引数をとるコンストラクタを持っていなければならない、という決まりがあります。 
 
-  グループのActivationGroupID
-  グループの初期化データ(java.rmi.MarshalledObject内)
 グループが作成されると、ActivationGroupのデフォルトの実装では、このグループのActivationGroupDescを作成したときに要求されたプロパティによりシステムのプロパティがオーバーライドされ、SecurityManagerがデフォルトのシステム・セキュリティ・マネージャとして設定されます。 グループ内でオブジェクトが起動されるときに特定のプロパティの設定を必要とするアプリケーションの場合は、ActivationDescを作成する前(デフォルトのActivationGroupDescが作成される前)に、これらのプロパティを含む特別なPropertiesオブジェクトを作成し、次にそのPropertiesオブジェクトでActivationGroupDescを作成してから、ActivationGroup.createGroupを使用するようにしてください。 SecurityManager以外のセキュリティ・マネージャの使用を必要とするアプリケーションの場合は、ActivativationGroupDescriptorプロパティ・リストで、java.security.managerプロパティを、インストールするセキュリティ・マネージャの名前に設定できます。 
- 導入されたバージョン:
- 1.2
- 関連項目:
- ActivationInstantiator,- ActivationGroupDesc,- ActivationGroupID, 直列化された形式
- 
フィールドのサマリークラス java.rmi.server.RemoteObjectで宣言されたフィールドref
- 
コンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protectedActivationGroup(ActivationGroupID groupID)削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定された起動グループ識別子を持つ起動グループを構築します。
- 
メソッドのサマリー修飾子と型メソッド説明protected voidactiveObject(ActivationID id, MarshalledObject<? extends Remote> mobj)削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。このprotectedメソッドは、サブクラスがグループのモニターにactiveObjectコールバックを行うために必要です。abstract voidactiveObject(ActivationID id, Remote obj)削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。グループのactiveObjectメソッドは、オブジェクトがエクスポートされるときに呼び出されます。エクスポートは、Activatableオブジェクトの構築、あるいはActivatable.exportObjectの明示的な呼出しによって実行されます。static ActivationGroupcreateGroup(ActivationGroupID id, ActivationGroupDesc desc, long incarnation)削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。現在のVMで使う起動グループを作成および設定します。static ActivationGroupID削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。現在の起動グループの識別子を返します。static ActivationSystem削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。VMが使う起動システムを返します。protected void削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。このprotectedメソッドは、サブクラスがグループのモニターにinactiveGroupコールバックを行うために必要です。boolean削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。グループのinactiveObjectメソッドは、Activatable.inactiveメソッドの呼出しを介して間接的に呼び出されます。static voidsetSystem(ActivationSystem system)削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。VMが使う起動システムを設定します。クラス java.rmi.server.UnicastRemoteObjectで宣言されたメソッドclone, exportObject, exportObject, exportObject, exportObject, exportObject, unexportObjectクラス java.rmi.server.RemoteServerで宣言されたメソッドgetClientHost, getLog, setLogインタフェース java.rmi.activation.ActivationInstantiatorで宣言されたメソッドnewInstance
- 
コンストラクタの詳細- 
ActivationGroupprotected ActivationGroup(ActivationGroupID groupID) throws RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定された起動グループ識別子を持つ起動グループを構築します。 このグループはjava.rmi.server.UnicastRemoteObjectとしてエクスポートされます。- パラメータ:
- groupID- グループの識別子
- 例外:
- RemoteException- このグループをエクスポートできなかった場合
- UnsupportedOperationException- この実装で起動がサポートされていない場合のみ
- 導入されたバージョン:
- 1.2
 
 
- 
- 
メソッドの詳細- 
inactiveObjectpublic boolean inactiveObject(ActivationID id) throws ActivationException, UnknownObjectException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。グループのinactiveObjectメソッドは、Activatable.inactiveメソッドの呼出しを介して間接的に呼び出されます。 リモート・オブジェクトの実装では、そのオブジェクトがアクティブでなくなったとき(アクティブでなくなったと見なされるとき)にActivatableのinactiveメソッドを呼び出さなければなりません。 オブジェクトが終了時にActivatable.inactiveを呼び出さないと、グループは自身が作成したオブジェクトへの強参照を保持するので、オブジェクトは決してガベージ・コレクトされません。グループの inactiveObjectメソッドは、リモート・オブジェクトをRMIランタイムからアンエクスポートして、そのオブジェクトが着信するRMI呼出しに応じられないようにします。 オブジェクトのアンエクスポートは、保留中あるいは実行中の呼出しをオブジェクトが持っていない場合にだけ可能です。ActivationGroupのサブクラスは、このメソッドをオーバーライドしてオブジェクトをアンエクスポートする必要があります。RMIランタイムからオブジェクトを削除後、グループはその ActivationMonitorに、モニターのinactiveObjectメソッドを通じて、リモート・オブジェクトが起動中でないことを通知する必要があります。これにより、以後の起動要求のときに、アクティベータによってリモート・オブジェクトがふたたび起動されます。このメソッドは、グループのモニターにオブジェクトが終了していることを通知するだけです。 オブジェクトのアンエクスポートに必要なその他の条件を満足するかどうかは、ActivationGroupの具象サブクラスによります。 - パラメータ:
- id- オブジェクトの起動識別子
- 戻り値:
- オブジェクトが正常に終了した場合はtrue、そうでない場合はfalse
- 例外:
- UnknownObjectException- オブジェクトが不明の場合。すでに終了している場合もある
- RemoteException- 呼出し通知モニターが失敗した場合
- ActivationException- グループが停止している場合
- 導入されたバージョン:
- 1.2
 
- 
activeObjectpublic abstract void activeObject(ActivationID id, Remote obj) throws ActivationException, UnknownObjectException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。グループのactiveObjectメソッドは、オブジェクトがエクスポートされるときに呼び出されます。エクスポートは、Activatableオブジェクトの構築、あるいはActivatable.exportObjectの明示的な呼出しによって実行されます。 オブジェクトが起動されていることをグループのActivationMonitorに対してまだ通知していない場合、グループは、モニターのactiveObjectメソッドを使ってこれを通知する必要があります。- パラメータ:
- id- オブジェクトの識別子
- obj- 実装されたリモート・オブジェクト
- 例外:
- UnknownObjectException- オブジェクトが登録されていない場合
- RemoteException- 呼出し通知モニターが失敗した場合
- ActivationException- グループが停止している場合
- 導入されたバージョン:
- 1.2
 
- 
createGrouppublic static ActivationGroup createGroup(ActivationGroupID id, ActivationGroupDesc desc, long incarnation) throws ActivationException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。現在のVMで使う起動グループを作成および設定します。 起動グループを設定できるのは、それが現在設定されていない場合だけです。 起動グループがcreateGroupメソッドを使用して設定されるのは、着信するactivate要求を実行するために、Activatorが起動グループの再作成を開始したときです。 グループをこのメソッドで作成する前に、それをActivationSystemに登録しておく必要があります。ActivationGroupDescで指定されたグループのクラスは、ActivationGroupの具象サブクラスであり、また、2つの引数をとるpublicコンストラクタを持っている必要があります。その引数は、グループのActivationGroupIDと、そのグループの初期化データを含むMarshalledObject(ActivationGroupDescから取得)です。ActivationGroupDescで指定されたグループのクラス名がnullの場合、このメソッドは、グループ記述子にデフォルトの起動グループ実装クラスの名前が格納されているかのように動作します。注: 独自の起動グループを作成するアプリケーションの場合は、そのグループのセキュリティ・マネージャを設定する必要があります。 そうしないと、グループ内でオブジェクトを起動できません。 デフォルトでは SecurityManagerがセキュリティ・マネージャとして設定されます。セキュリティ・マネージャがグループVMに設定されている場合、このメソッドは最初にセキュリティ・マネージャの checkSetFactoryメソッドを呼び出します。 この結果、SecurityExceptionになることがあります。 別のセキュリティ・マネージャを設定する必要のあるアプリケーションの場合、グループのActivationGroupDescで指定されたポリシー・ファイルで、新しいセキュリティ・マネージャを設定するために必要なアクセス権をそのグループに与える必要があります (ノート: これは、グループがセキュリティ・マネージャをダウンロードおよび設定する場合に必要)。グループが作成されると、 ActivationSystemにグループが起動したことを通知するためにactiveGroupメソッドが呼び出され、このメソッドはグループのActivationMonitorを返します。 アプリケーションからactiveGroupを個別に呼び出す必要はありません。なぜなら、この処理はこのメソッドにより行われるからです。グループが作成されると、以後の currentGroupIDメソッドへの呼出しは、グループが終了するまではこのグループの識別子を返します。- パラメータ:
- id- 起動グループの識別子
- desc- 起動グループの記述子
- incarnation- グループの生成番号(グループの初回作成時はゼロ)
- 戻り値:
- VMが使う起動グループ
- 例外:
- ActivationException- グループがすでに存在する場合、あるいはグループの作成中にエラーが発生した場合
- SecurityException- グループを作成するためのアクセス権が与えられなかった場合。 (ノート: セキュリティ・マネージャの- checkSetFactoryメソッドのデフォルトの実装は、「setFactory」のRuntimePermissionを必要とする)
- UnsupportedOperationException- この実装で起動がサポートされていない場合のみ
- 導入されたバージョン:
- 1.2
- 関連項目:
- SecurityManager.checkSetFactory()
 
- 
currentGroupIDpublic static ActivationGroupID currentGroupID()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。現在の起動グループの識別子を返します。 現在起動中のグループがVMにない場合はnullを返します。- 戻り値:
- 起動グループの識別子
- 例外:
- UnsupportedOperationException- この実装で起動がサポートされていない場合のみ
- 導入されたバージョン:
- 1.2
 
- 
setSystempublic static void setSystem(ActivationSystem system) throws ActivationException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。VMが使う起動システムを設定します。 起動システムは、現在起動中のグループがない場合にだけ設定できます。 起動システムをこの呼出しで設定できない場合は、ActivationSystemへの参照を取得するために、getSystemメソッドが、アクティベータのレジストリで名前「java.rmi.activation.ActivationSystem」を検索します。 デフォルトでは、起動システムの検索に使用されるポート番号は、ActivationSystem.SYSTEM_PORTで定義されています。 このポートは、プロパティjava.rmi.activation.portを設定することによりオーバーライドできます。セキュリティ・マネージャが存在する場合、このメソッドは最初にセキュリティ・マネージャの checkSetFactoryメソッドを呼び出します。 この結果、SecurityExceptionがスローされることがあります。- パラメータ:
- system-- ActivationSystemへのリモート参照
- 例外:
- ActivationException- 起動システムがすでに設定されている場合
- SecurityException- 起動システムを設定するためのアクセス権が与えられなかった場合。 (ノート: セキュリティ・マネージャの- checkSetFactoryメソッドのデフォルトの実装は、「setFactory」のRuntimePermissionを必要とする)
- UnsupportedOperationException- この実装で起動がサポートされていない場合のみ
- 導入されたバージョン:
- 1.2
- 関連項目:
- getSystem(),- SecurityManager.checkSetFactory()
 
- 
getSystempublic static ActivationSystem getSystem() throws ActivationException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。VMが使う起動システムを返します。 起動システムは、setSystemメソッドで設定できます。setSystemメソッドで起動システムを設定できない場合は、ActivationSystemへの参照を取得するために、getSystemメソッドがアクティベータのレジストリで名前「java.rmi.activation.ActivationSystem」を検索します。 デフォルトでは、起動システムの検索に使用されるポート番号は、ActivationSystem.SYSTEM_PORTで定義されています。 このポートは、プロパティjava.rmi.activation.portを設定することによりオーバーライドできます。- 戻り値:
- VMまたはグループが使う起動システム
- 例外:
- ActivationException- 起動システムが取得できないか、バインドされていない(停止中である)場合。
- UnsupportedOperationException- この実装で起動がサポートされていない場合のみ
- 導入されたバージョン:
- 1.2
- 関連項目:
- setSystem(java.rmi.activation.ActivationSystem)
 
- 
activeObjectprotected void activeObject(ActivationID id, MarshalledObject<? extends Remote> mobj) throws ActivationException, UnknownObjectException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。このprotectedメソッドは、サブクラスがグループのモニターにactiveObjectコールバックを行うために必要です。 この呼出しは、グループのActivationMonitorにすぐに転送されます。- パラメータ:
- id- オブジェクトの識別子
- mobj- リモート・オブジェクトのスタブを含む、整列化されたオブジェクト
- 例外:
- UnknownObjectException- オブジェクトが登録されていない場合
- RemoteException- 呼出し通知モニターが失敗した場合
- ActivationException- 起動エラーが発生した場合
- 導入されたバージョン:
- 1.2
 
- 
inactiveGroupprotected void inactiveGroup() throws UnknownGroupException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。このprotectedメソッドは、サブクラスがグループのモニターにinactiveGroupコールバックを行うために必要です。 この呼出しは、グループのActivationMonitorにすぐに転送されます。 また、VMが使う現在のグループがnullに設定されます。- 例外:
- UnknownGroupException- グループが登録されていない場合
- RemoteException- 呼出し通知モニターが失敗した場合
- 導入されたバージョン:
- 1.2
 
 
- 
java.rmi.activationパッケージ仕様を参照してください。