|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.rmi.server.RemoteObject java.rmi.server.RemoteServer java.rmi.activation.Activatable
public abstract class Activatable
永続的なアクセスを必要とし、システムから起動できるリモートオブジェクトをサポートします。
コンストラクタおよび static exportObject
メソッドの場合、エクスポートするリモートオブジェクトのスタブは、UnicastRemoteObject
で説明した方法で取得されます。
このクラスのインスタンスを明示的に直列化しようとすると失敗します。
フィールドの概要 |
---|
クラス java.rmi.server.RemoteObject から継承されたフィールド |
---|
ref |
コンストラクタの概要 | |
---|---|
protected |
Activatable(ActivationID id,
int port)
指定されたポート上でオブジェクトを起動またはエクスポートするために使うコンストラクタです。 |
protected |
Activatable(ActivationID id,
int port,
RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
指定されたポート上でオブジェクトを起動またはエクスポートするために使うコンストラクタです。 |
protected |
Activatable(String location,
MarshalledObject<?> data,
boolean restart,
int port)
このオブジェクトの起動記述子を (位置、データ、再起動モードを指定して) 登録し、ポートを指定してオブジェクトをエクスポートすることにより、起動可能なリモートオブジェクトを構築します。 |
protected |
Activatable(String location,
MarshalledObject<?> data,
boolean restart,
int port,
RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
このオブジェクトの起動記述子を (位置、データ、再起動モードを指定して) 登録し、ポートおよびクライアントとサーバーソケットファクトリを指定してオブジェクトをエクスポートすることにより、起動可能なリモートオブジェクトを構築します。 |
メソッドの概要 | |
---|---|
static Remote |
exportObject(Remote obj,
ActivationID id,
int port)
起動可能なリモートオブジェクトを RMI ランタイムにエクスポートすることにより、着信呼び出しの受け付けにオブジェクトを使用できるようにします。 |
static Remote |
exportObject(Remote obj,
ActivationID id,
int port,
RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
起動可能なリモートオブジェクトを RMI ランタイムにエクスポートすることにより、着信呼び出しの受け付けにオブジェクトを使用できるようにします。 |
static ActivationID |
exportObject(Remote obj,
String location,
MarshalledObject<?> data,
boolean restart,
int port)
指定したオブジェクトの起動記述子を (位置、データ、再起動モードを指定して) 登録し、ポートを指定してそのオブジェクトをエクスポートします。 |
static ActivationID |
exportObject(Remote obj,
String location,
MarshalledObject<?> data,
boolean restart,
int port,
RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
指定したオブジェクトの起動記述子を (位置、データ、再起動モードを指定して) 登録し、ポートおよびクライアントとサーバーソケットファクトリを指定してそのオブジェクトをエクスポートします。 |
protected ActivationID |
getID()
オブジェクトの起動識別子を返します。 |
static boolean |
inactive(ActivationID id)
対応する起動 id のオブジェクトが現在停止していることをシステムに通知します。 |
static Remote |
register(ActivationDesc desc)
起動可能なリモートオブジェクトのオブジェクト記述子を登録して、要求に応じてリモートオブジェクトを起動できるようにします。 |
static boolean |
unexportObject(Remote obj,
boolean force)
RMI ランタイムからリモートオブジェクト obj を削除します。 |
static void |
unregister(ActivationID id)
id に関連した起動記述子の登録を取り消します。 |
クラス java.rmi.server.RemoteServer から継承されたメソッド |
---|
getClientHost, getLog, setLog |
クラス java.rmi.server.RemoteObject から継承されたメソッド |
---|
equals, getRef, hashCode, toString, toStub |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
protected Activatable(String location, MarshalledObject<?> data, boolean restart, int port) throws ActivationException, RemoteException
注: リモートオブジェクトを登録およびエクスポートする操作は原子性が保証されないため、起動可能なリモートオブジェクトを登録およびエクスポートする Activatable
コンストラクタの使用は推奨されません。代わりに、アプリケーションで起動記述子を登録して、リモートオブジェクトを個別にエクスポートすることにより、例外が適切に処理されるようにしてください。
このメソッドは、このオブジェクトおよび指定した位置、データ、再起動モード、およびポートを使って exportObject
メソッドを呼び出します。その後、getID()
を呼び出すと、exportObject
の呼び出しで返される起動識別子が返されます。
location
- オブジェクトが使うクラスの位置data
- オブジェクトの初期化データport
- オブジェクトのエクスポート先のポート。
port=0 の場合は匿名ポートが使用されるrestart
- true の場合は、アクティベータが再起動したとき、
または突然のクラッシュ後にオブジェクトの起動グループを再起動したときにオブジェクトも起動される。
false の場合は、
restart
を true
に指定しても、
新規登録オブジェクトを最初にすぐ起動するわけではない。
初期起動はすぐには行われない
ActivationException
- オブジェクトの登録が失敗した場合
RemoteException
- 次のどちらかが失敗した場合。
a) 起動システムへのオブジェクトの登録
b) RMI ランタイムへのオブジェクトのエクスポートprotected Activatable(String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws ActivationException, RemoteException
注: リモートオブジェクトを登録およびエクスポートする操作は原子性が保証されないため、起動可能なリモートオブジェクトを登録およびエクスポートする Activatable
コンストラクタの使用は推奨されません。代わりに、アプリケーションで起動記述子を登録して、リモートオブジェクトを個別にエクスポートすることにより、例外が適切に処理されるようにしてください。
このメソッドは、このオブジェクト、および指定した位置、データ、再起動モード、ポート、クライアントとサーバーソケットファクトリを使って exportObject
メソッドを呼び出します。その後、getID()
を呼び出すと、exportObject
の呼び出しで返される起動識別子が返されます。
location
- オブジェクトが使うクラスの位置data
- オブジェクトの初期化データrestart
- true の場合は、アクティベータが再起動したとき、
または突然のクラッシュ後にオブジェクトの起動グループを再起動したときにオブジェクトも起動される。
false の場合は、
restart
を true
に指定しても、
新規登録オブジェクトを最初にすぐ起動するわけではない。
初期起動はすぐには行われないport
- オブジェクトのエクスポート先のポート。
port=0 の場合は匿名ポートが使用されるcsf
- リモートオブジェクトの呼び出しに使用する、
クライアント側ソケットファクトリssf
- リモートオブジェクト呼び出しを受信する、サーバー側ソケットファクトリ
ActivationException
- オブジェクトの登録が失敗した場合
RemoteException
- 次のどちらかが失敗した場合。
a) 起動システムへのオブジェクトの登録
b) RMI ランタイムへのオブジェクトのエクスポートprotected Activatable(ActivationID id, int port) throws RemoteException
ActivationID
)
MarshalledObject
)
このクラスの具象サブクラスは、前述したコンストラクタを通じて起動されるときに、このコンストラクタを呼び出す必要があります。起動可能なオブジェクトを構築すると、指定された port
上の RMI ランタイムにリモートオブジェクトがエクスポートされ、クライアントからの着信呼び出しの受け付けに使用できるようになります。
id
- オブジェクトの起動識別子port
- オブジェクトのエクスポート先のポート番号
RemoteException
- RMI ランタイムへのオブジェクトのエクスポートが
失敗した場合protected Activatable(ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
ActivationID
)
MarshalledObject
)
このクラスの具象サブクラスは、前述したコンストラクタを通じて起動されるときに、このコンストラクタを呼び出す必要があります。起動可能なオブジェクトを構築すると、指定された port
上の RMI ランタイムにリモートオブジェクトがエクスポートされ、クライアントからの着信呼び出しの受け付けに使用できるようになります。
id
- オブジェクトの起動識別子port
- オブジェクトのエクスポート先のポート番号csf
- リモートオブジェクトの呼び出しに使用する、
クライアント側ソケットファクトリssf
- リモートオブジェクト呼び出しを受信する、サーバー側ソケットファクトリ
RemoteException
- RMI ランタイムへのオブジェクトのエクスポートが
失敗した場合メソッドの詳細 |
---|
protected ActivationID getID()
public static Remote register(ActivationDesc desc) throws UnknownGroupException, ActivationException, RemoteException
desc
- オブジェクトの記述子
UnknownGroupException
- desc
にあるグループ ID が
起動システムに登録されていない場合
ActivationException
- 起動システムが動作していない場合
RemoteException
- リモート呼び出しが失敗した場合public static boolean inactive(ActivationID id) throws UnknownObjectException, ActivationException, RemoteException
id
のオブジェクトが現在停止していることをシステムに通知します。オブジェクトが現在起動中である場合、そのオブジェクトは RMI ランタイムから「アンエクスポート」され (保留中、あるいは進行中の呼び出しがない場合のみ)、以後の着信呼び出しを受信できなくなります。この呼び出しは VM の ActivationGroup にオブジェクトが停止していることを通知し、ActivationGroup は、該当する ActivationMonitor に通知を行います。この呼び出しが正常に完了した場合、アクティベータへの後続の起動要求によってオブジェクトがふたたび起動されます。この操作は、オブジェクトが起動中であっても、アンエクスポート済みの場合は true を返します。
id
- オブジェクトの起動識別子
UnknownObjectException
- オブジェクトが不明な場合。
すでに停止している場合もある
ActivationException
- グループが動作していない場合
RemoteException
- 呼び出し通知モニターが失敗した場合public static void unregister(ActivationID id) throws UnknownObjectException, ActivationException, RemoteException
id
に関連した起動記述子の登録を取り消します。その id
を使ってオブジェクトを起動することはできなくなります。
id
- オブジェクトの起動識別子
UnknownObjectException
- オブジェクト (id
) が不明な場合
ActivationException
- 起動システムが動作していない場合
RemoteException
- 起動システムへのリモート呼び出しが失敗した場合public static ActivationID exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port) throws ActivationException, RemoteException
注: リモートオブジェクトを登録およびエクスポートする操作は原子性が保証されないため、このメソッド (および起動可能なリモートオブジェクトを登録およびエクスポートする Activatable
コンストラクタ) の使用は推奨されません。代わりに、アプリケーションで起動記述子を登録して、リモートオブジェクトを個別にエクスポートすることにより、例外が適切に処理されるようにしてください。
このメソッドは、指定したオブジェクト、位置、データ、再起動モード、ポート、および null
のクライアントとサーバーソケットファクトリを使って exportObject
メソッドが呼び出して、生成された起動識別子を返します。
obj
- エクスポート対象のオブジェクトlocation
- オブジェクトのコードの位置data
- オブジェクトのブートストラップデータrestart
- true の場合は、アクティベータが再起動したとき、
または突然のクラッシュ後にオブジェクトの起動グループを再起動したときにオブジェクトも起動される。
false の場合は、
restart
を true
に指定しても、
新規登録オブジェクトを最初にすぐ起動するわけではない。
初期起動はすぐには行われないport
- オブジェクトのエクスポート先のポート。
port=0 の場合は匿名ポートが使用される
desc
を登録したときに取得した
起動識別子
ActivationException
- グループが停止している場合
RemoteException
- オブジェクトの登録あるいはエクスポートが失敗した場合public static ActivationID exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws ActivationException, RemoteException
注: リモートオブジェクトを登録およびエクスポートする操作は原子性が保証されないため、このメソッド (および起動可能なリモートオブジェクトを登録およびエクスポートする 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
- オブジェクトの登録あるいはエクスポートが失敗した場合public static Remote exportObject(Remote obj, ActivationID id, int port) throws RemoteException
port
の値が 0 の場合、オブジェクトは匿名ポートにエクスポートされます。
起動時に、exportObject
メソッドは、Activatable
クラスを拡張しない「起動可能な」オブジェクトから明示的に呼び出されることがあります。このオブジェクトは構築時にエクスポートされるため、Activatable
クラスを拡張してこのメソッドを直接呼び出すオブジェクトは必要はありません。
obj
- 実装されたリモートオブジェクトid
- オブジェクトの起動識別子port
- オブジェクトのエクスポート先のポート。
port=0 の場合は匿名ポートが使用される
RemoteException
- オブジェクトのエクスポートに失敗した場合public static Remote exportObject(Remote obj, ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
port
の値が 0 の場合、オブジェクトは匿名ポートにエクスポートされます。
起動時に、exportObject
メソッドは、Activatable
クラスを拡張しない「起動可能な」オブジェクトから明示的に呼び出されることがあります。このオブジェクトは構築時にエクスポートされるため、Activatable
クラスを拡張してこのメソッドを直接呼び出すオブジェクトは必要はありません。
obj
- 実装されたリモートオブジェクトid
- オブジェクトの起動識別子port
- オブジェクトのエクスポート先のポート。
port=0 の場合は匿名ポートが使用されるcsf
- リモートオブジェクトの呼び出しに使用する、
クライアント側ソケットファクトリssf
- リモートオブジェクト呼び出しを受信する、サーバー側ソケットファクトリ
RemoteException
- オブジェクトのエクスポートに失敗した場合public static boolean unexportObject(Remote obj, boolean force) throws NoSuchObjectException
obj
- アンエクスポートされるリモートオブジェクトforce
- true の場合は、保留中または進行中の呼び出しがあっても、
オブジェクトをアンエクスポートする。
false の場合は、保留中または進行中の呼び出しがないときにだけ、オブジェクトをアンエクスポートする
NoSuchObjectException
- リモートオブジェクトが
現在エクスポートされていない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。