- すべての実装されたインタフェース:
Serializable
,Remote
@Deprecated(forRemoval=true, since="15") public abstract class Activatable extends RemoteServer
Activatable
クラスは、永続的なアクセスを必要とし、システムから起動できるリモート・オブジェクトをサポートします。
コンストラクタおよびstatic exportObject
メソッドの場合、エクスポートするリモート・オブジェクトのスタブは、UnicastRemoteObject
で説明した方法で取得されます。
このクラスのインスタンスを明示的に直列化しようとすると失敗します。
- 導入されたバージョン:
- 1.2
-
フィールドのサマリー
クラス java.rmi.server.RemoteObjectで宣言されたフィールド
ref
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
Activatable(String location, MarshalledObject<?> data, boolean restart, int port)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。このオブジェクトの起動記述子を(位置、データ、再起動モードを指定して)登録し、ポートを指定してオブジェクトをエクスポートすることにより、起動可能なリモート・オブジェクトを構築します。protected
Activatable(String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。このオブジェクトの起動記述子を(位置、データ、再起動モードを指定して)登録し、ポートおよびクライアントとサーバー・ソケット・ファクトリを指定してオブジェクトをエクスポートすることにより、起動可能なリモート・オブジェクトを構築します。protected
Activatable(ActivationID id, int port)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定されたポート上でオブジェクトを起動またはエクスポートするために使うコンストラクタです。protected
Activatable(ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定されたポート上でオブジェクトを起動またはエクスポートするために使うコンストラクタです。 -
メソッドのサマリー
修飾子と型 メソッド 説明 static ActivationID
exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定したオブジェクトの起動記述子を(位置、データ、再起動モードを指定して)登録し、ポートを指定してそのオブジェクトをエクスポートします。static ActivationID
exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定したオブジェクトの起動記述子を(位置、データ、再起動モードを指定して)登録し、ポートおよびクライアントとサーバー・ソケット・ファクトリを指定してそのオブジェクトをエクスポートします。static Remote
exportObject(Remote obj, ActivationID id, int port)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。起動可能なリモート・オブジェクトをRMIランタイムにエクスポートすることにより、着信呼出しの受け付けにオブジェクトを使用できるようにします。static Remote
exportObject(Remote obj, ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。起動可能なリモート・オブジェクトをRMIランタイムにエクスポートすることにより、着信呼出しの受け付けにオブジェクトを使用できるようにします。protected ActivationID
getID()
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。オブジェクトの起動識別子を返します。static boolean
inactive(ActivationID id)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。対応する起動id
のオブジェクトが現在停止していることをシステムに通知します。static Remote
register(ActivationDesc desc)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。起動可能なリモート・オブジェクトのオブジェクト記述子を登録して、要求に応じてリモート・オブジェクトを起動できるようにします。static boolean
unexportObject(Remote obj, boolean force)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。RMIランタイムからリモート・オブジェクトobjを削除します。static void
unregister(ActivationID id)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。id
に関連した起動記述子の登録を取り消します。クラス java.rmi.server.RemoteServerで宣言されたメソッド
getClientHost, getLog, setLog
-
コンストラクタの詳細
-
Activatable
protected Activatable(String location, MarshalledObject<?> data, boolean restart, int port) throws ActivationException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。このオブジェクトの起動記述子を(位置、データ、再起動モードを指定して)登録し、ポートを指定してオブジェクトをエクスポートすることにより、起動可能なリモート・オブジェクトを構築します。ノート:
Activatable
リモート・オブジェクトを登録およびエクスポートする操作は原子性が保証されないため、起動可能なリモート・オブジェクトを登録およびエクスポートするActivatableコンストラクタを使用しないことが強く推奨されています。 代わりに、アプリケーションで起動記述子を登録して、リモート・オブジェクトを個別にエクスポートすることにより、例外が適切に処理されるようにしてください。このメソッドは、このオブジェクトと、指定した位置、データ、再起動モード、およびポートを使って
exportObject
メソッドを呼び出します。 その後、getID()
を呼び出すと、exportObject
の呼出しで返される起動識別子が返されます。- パラメータ:
location
- オブジェクトが使うクラスの位置data
- オブジェクトの初期化データport
- オブジェクトのエクスポート先のポート。port=0の場合は匿名ポートが使用されるrestart
- trueの場合は、アクティベータが再起動したとき、または突然のクラッシュ後にオブジェクトの起動グループを再起動したときにオブジェクトも再起動される。falseの場合は、オブジェクトは要求に応じて起動される。restart
をtrue
に指定しても、新規登録オブジェクトを最初にすぐ起動するわけではない。初期起動はすぐには行われない。- 例外:
ActivationException
- オブジェクトの登録が失敗した場合RemoteException
- 次のどちらかが失敗した場合。a)起動システムへのオブジェクトの登録 b) RMIランタイムへのオブジェクトのエクスポートUnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
Activatable
protected Activatable(String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws ActivationException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。このオブジェクトの起動記述子を(位置、データ、再起動モードを指定して)登録し、ポートおよびクライアントとサーバー・ソケット・ファクトリを指定してオブジェクトをエクスポートすることにより、起動可能なリモート・オブジェクトを構築します。ノート:
Activatable
リモート・オブジェクトを登録およびエクスポートする操作は原子性が保証されないため、起動可能なリモート・オブジェクトを登録およびエクスポートするActivatableコンストラクタを使用しないことが強く推奨されています。 代わりに、アプリケーションで起動記述子を登録して、リモート・オブジェクトを個別にエクスポートすることにより、例外が適切に処理されるようにしてください。このメソッドは、このオブジェクトと、指定した位置、データ、再起動モード、ポート、およびクライアントとサーバー・ソケット・ファクトリを使って
exportObject
メソッドを呼び出します。 その後、getID()
を呼び出すと、exportObject
の呼出しで返される起動識別子が返されます。- パラメータ:
location
- オブジェクトが使うクラスの位置data
- オブジェクトの初期化データrestart
- trueの場合は、アクティベータが再起動したとき、または突然のクラッシュ後にオブジェクトの起動グループを再起動したときにオブジェクトも再起動される。falseの場合は、オブジェクトは要求に応じて起動される。restart
をtrue
に指定しても、新規登録オブジェクトを最初にすぐ起動するわけではない。初期起動はすぐには行われない。port
- オブジェクトのエクスポート先のポート。port=0の場合は匿名ポートが使用されるcsf
- リモート・オブジェクトの呼出しに使用する、クライアント側ソケット・ファクトリssf
- リモート呼出しを受信する、サーバー側ソケット・ファクトリ- 例外:
ActivationException
- オブジェクトの登録が失敗した場合RemoteException
- 次のどちらかが失敗した場合。a)起動システムへのオブジェクトの登録 b) RMIランタイムへのオブジェクトのエクスポートUnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
Activatable
protected Activatable(ActivationID id, int port) throws RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定されたポート上でオブジェクトを起動またはエクスポートするために使うコンストラクタです。 「起動可能な」リモート・オブジェクトには、次の2つの引数を持つコンストラクタが必要です。- オブジェクトの起動識別子(
ActivationID
) - オブジェクトの初期化データ(
MarshalledObject
)
このクラスの具象サブクラスは、前述した2つのパラメータをとるコンストラクタを通じて起動されるときに、このコンストラクタを呼び出す必要があります。 構築の副作用として、指定された
port
上のRMIランタイムにリモート・オブジェクトがエクスポートされ、クライアントからの着信呼出しの受け付けに使用できるようになります。- パラメータ:
id
- オブジェクトの起動識別子port
- オブジェクトのエクスポート先のポート番号- 例外:
RemoteException
- RMIランタイムへのオブジェクトのエクスポートが失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
- オブジェクトの起動識別子(
-
Activatable
protected Activatable(ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定されたポート上でオブジェクトを起動またはエクスポートするために使うコンストラクタです。 「起動可能な」リモート・オブジェクトには、次の2つの引数を持つコンストラクタが必要です。- オブジェクトの起動識別子(
ActivationID
) - オブジェクトの初期化データ(
MarshalledObject
)
このクラスの具象サブクラスは、前述した2つのパラメータをとるコンストラクタを通じて起動されるときに、このコンストラクタを呼び出す必要があります。 構築の副作用として、指定された
port
上のRMIランタイムにリモート・オブジェクトがエクスポートされ、クライアントからの着信呼出しの受け付けに使用できるようになります。- パラメータ:
id
- オブジェクトの起動識別子port
- オブジェクトのエクスポート先のポート番号csf
- リモート・オブジェクトの呼出しに使用する、クライアント側ソケット・ファクトリssf
- リモート呼出しを受信する、サーバー側ソケット・ファクトリ- 例外:
RemoteException
- RMIランタイムへのオブジェクトのエクスポートが失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
- オブジェクトの起動識別子(
-
-
メソッドの詳細
-
getID
protected ActivationID getID()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。オブジェクトの起動識別子を返します。 このメソッドは、サブクラスだけがオブジェクトの識別子を取得できるように保護されています。- 戻り値:
- オブジェクトの起動識別子
- 導入されたバージョン:
- 1.2
-
register
public static Remote register(ActivationDesc desc) throws UnknownGroupException, ActivationException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。起動可能なリモート・オブジェクトのオブジェクト記述子を登録して、要求に応じてリモート・オブジェクトを起動できるようにします。- パラメータ:
desc
- オブジェクトの記述子- 戻り値:
- 起動可能なリモート・オブジェクトが使うスタブ
- 例外:
UnknownGroupException
-desc
にあるグループIDが起動システムに登録されていない場合ActivationException
- 起動システムが動作していない場合RemoteException
- リモート呼出しが失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
inactive
public static boolean inactive(ActivationID id) throws UnknownObjectException, ActivationException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。対応する起動id
のオブジェクトが現在停止していることをシステムに通知します。 オブジェクトが現在起動中である場合、そのオブジェクトはRMIランタイムから「アンエクスポート」され(保留中、あるいは進行中の呼出しがない場合のみ)、以後の着信呼出しを受信できなくなります。 この呼出しはVMのActivationGroupにオブジェクトが停止していることを通知し、ActivationGroupは、該当するActivationMonitorに通知を行います。 この呼出しが正常に完了した場合、アクティベータへの後続の起動要求によってオブジェクトがふたたび起動されます。 オブジェクトがアクティブであると見られる場合であっても、すでにアンエクスポートされている場合は、このメソッドの呼出しは成功することがあります。- パラメータ:
id
- オブジェクトの起動識別子- 戻り値:
- 処理が成功した場合はtrue。オブジェクトが起動中であっても、アンエクスポート済みであるか、エクスポート中であり、保留中あるいは実行中の呼出しがない場合、処理は成功する。オブジェクトに保留中あるいは実行中の呼出しがあり、オブジェクトを終了できない場合はfalse
- 例外:
UnknownObjectException
- オブジェクトが不明な場合。すでに停止している場合もあるActivationException
- グループが動作していない場合RemoteException
- 呼出し通知モニターが失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
unregister
public static void unregister(ActivationID id) throws UnknownObjectException, ActivationException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。id
に関連した起動記述子の登録を取り消します。 オブジェクトはそのid
で起動できなくなります。- パラメータ:
id
- オブジェクトの起動識別子- 例外:
UnknownObjectException
- オブジェクト(id
)が不明な場合ActivationException
- 起動システムが動作していない場合RemoteException
- 起動システムへのリモート呼出しが失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
exportObject
public static ActivationID exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port) throws ActivationException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定したオブジェクトの起動記述子を(位置、データ、再起動モードを指定して)登録し、ポートを指定してそのオブジェクトをエクスポートします。ノート: リモート・オブジェクトを登録およびエクスポートする操作は原子性が保証されないため、このメソッド(および起動可能なリモート・オブジェクトを登録およびエクスポートする
Activatable
コンストラクタ)を使用しないことが強く推奨されています。 代わりに、アプリケーションで起動記述子を登録して、リモート・オブジェクトを個別にエクスポートすることにより、例外が適切に処理されるようにしてください。このメソッドは、指定したオブジェクト、位置、データ、再起動モード、ポート、および
null
のクライアントとサーバー・ソケット・ファクトリを使ってexportObject
メソッドを呼び出し、結果となる起動識別子を返します。- パラメータ:
obj
- エクスポート対象のオブジェクトlocation
- オブジェクトのコードの位置data
- オブジェクトのブートストラップ・データrestart
- trueの場合は、アクティベータが再起動したとき、または突然のクラッシュ後にオブジェクトの起動グループを再起動したときにオブジェクトも再起動される。falseの場合は、オブジェクトは要求に応じて起動される。restart
をtrue
に指定しても、新規登録オブジェクトを最初にすぐ起動するわけではない。初期起動はすぐには行われない。port
- オブジェクトのエクスポート先のポート。port=0の場合は匿名ポートが使用される- 戻り値:
- 起動システムが間違ったグループである場合に、記述子
desc
を登録したときに取得した起動識別子 - 例外:
ActivationException
- 起動グループがアクティブでない場合RemoteException
- オブジェクトの登録またはエクスポートが失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
exportObject
public static ActivationID exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws ActivationException, RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。指定したオブジェクトの起動記述子を(位置、データ、再起動モードを指定して)登録し、ポートおよびクライアントとサーバー・ソケット・ファクトリを指定してそのオブジェクトをエクスポートします。ノート: リモート・オブジェクトを登録およびエクスポートする操作は原子性が保証されないため、このメソッド(および起動可能なリモート・オブジェクトを登録およびエクスポートする
Activatable
コンストラクタ)を使用しないことが強く推奨されています。 代わりに、アプリケーションで起動記述子を登録して、リモート・オブジェクトを個別にエクスポートすることにより、例外が適切に処理されるようにしてください。このメソッドは、最初に、次の方法で特定のオブジェクトの起動記述子を登録します。
ActivationGroup.getSystem
メソッドを呼び出して起動システムを取得します。 次に、このメソッドは、起動システムのregisterObject
メソッドを呼び出して、オブジェクトのActivationID
を取得します。その際、オブジェクトのクラス名、および位置、データ、再起動モードを指定して構築したActivationDesc
が使用されます。 起動システムの取得時または起動記述子の登録時に例外が発生した場合、その例外は呼出し側にスローされます。次に、このメソッドは
exportObject
メソッドを呼び出してオブジェクトをエクスポートします。その際、指定したリモート・オブジェクト、登録から取得した起動識別子、指定したポート、および指定したクライアントとサーバー・ソケット・ファクトリが使用されます。 オブジェクトのエクスポート時に例外が発生すると、このメソッドは、起動システムのunregisterObject
メソッドを起動識別子を指定して呼び出すことで、(登録から取得した)起動識別子を登録解除しようとします。 識別子の登録解除時に例外が発生する場合、その例外は無視され、オブジェクトのエクスポート時に発生した元の例外が呼出し側にスローされます。最後に、このメソッドは、このVMの起動グループに対して
activeObject
メソッドを起動識別子およびリモート・オブジェクトを指定して呼び出して、起動識別子を呼出し側に返します。- パラメータ:
obj
- エクスポート対象のオブジェクトlocation
- オブジェクトのコードの位置data
- オブジェクトのブートストラップ・データrestart
- trueの場合は、アクティベータが再起動したとき、または突然のクラッシュ後にオブジェクトの起動グループを再起動したときにオブジェクトも再起動される。falseの場合は、オブジェクトは要求に応じて起動される。restart
をtrue
に指定しても、新規登録オブジェクトを最初にすぐ起動するわけではない。初期起動はすぐには行われない。port
- オブジェクトのエクスポート先のポート。port=0の場合は匿名ポートが使用されるcsf
- リモート・オブジェクトの呼出しに使用する、クライアント側ソケット・ファクトリssf
- リモート呼出しを受信する、サーバー側ソケット・ファクトリ- 戻り値:
- 起動システムに記述子を登録して得られた起動識別子
- 例外:
ActivationException
- 起動グループがアクティブでない場合RemoteException
- オブジェクトの登録またはエクスポートが失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
exportObject
public static Remote exportObject(Remote obj, ActivationID id, int port) throws RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。起動可能なリモート・オブジェクトをRMIランタイムにエクスポートすることにより、着信呼出しの受け付けにオブジェクトを使用できるようにします。port
がゼロの場合、オブジェクトは匿名ポートにエクスポートされます。起動時に、
exportObject
メソッドは、Activatable
クラスを拡張しない「起動可能な」オブジェクトから明示的に呼び出される必要があります。 このオブジェクトは構築時にエクスポートされるため、Activatable
クラスを拡張してこのメソッドを直接呼び出すオブジェクトは必要はありません。- パラメータ:
obj
- 実装されたリモート・オブジェクトid
- オブジェクトの起動識別子port
- オブジェクトのエクスポート先のポート。port=0の場合は匿名ポートが使用される- 戻り値:
- 起動可能なリモート・オブジェクトが使うスタブ
- 例外:
RemoteException
- オブジェクトのエクスポートに失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
exportObject
public static Remote exportObject(Remote obj, ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。起動可能なリモート・オブジェクトをRMIランタイムにエクスポートすることにより、着信呼出しの受け付けにオブジェクトを使用できるようにします。port
がゼロの場合、オブジェクトは匿名ポートにエクスポートされます。起動時に、
exportObject
メソッドは、Activatable
クラスを拡張しない「起動可能な」オブジェクトから明示的に呼び出される必要があります。 このオブジェクトは構築時にエクスポートされるため、Activatable
クラスを拡張してこのメソッドを直接呼び出すオブジェクトは必要はありません。- パラメータ:
obj
- 実装されたリモート・オブジェクトid
- オブジェクトの起動識別子port
- オブジェクトのエクスポート先のポート。port=0の場合は匿名ポートが使用されるcsf
- リモート・オブジェクトの呼出しに使用する、クライアント側ソケット・ファクトリssf
- リモート呼出しを受信する、サーバー側ソケット・ファクトリ- 戻り値:
- 起動可能なリモート・オブジェクトが使うスタブ
- 例外:
RemoteException
- オブジェクトのエクスポートに失敗した場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
unexportObject
public static boolean unexportObject(Remote obj, boolean force) throws NoSuchObjectException削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。RMIランタイムからリモート・オブジェクトobjを削除します。 削除が成功すると、オブジェクトはRMI着信呼出しの受け付けのために使用できなくなります。 パラメータforceがtrueに設定されていると、リモート・オブジェクトへの保留状態の呼出しがある場合や、進行中の呼出しがある場合でも、オブジェクトは強制的にアンエクスポートされます。 forceパラメータにfalseを指定すると、保留状態の呼び出しや実行中の呼出しがない場合に限り、オブジェクトはアンエクスポートされます。- パラメータ:
obj
- アンエクスポートされるリモート・オブジェクトforce
- trueの場合は、保留中または進行中の呼出しがあっても、オブジェクトをアンエクスポートする。falseの場合は、保留中または進行中の呼出しがないときにだけ、オブジェクトをアンエクスポートする- 戻り値:
- オペレーションが成功した場合はtrue、そうでない場合はfalse
- 例外:
NoSuchObjectException
- リモート・オブジェクトが現在エクスポートされていない場合UnsupportedOperationException
- この実装で起動がサポートされていない場合のみ- 導入されたバージョン:
- 1.2
-
java.rmi.activation
パッケージ仕様を参照してください。