java.lang.Object | |||
↳ | java.rmi.server.RemoteObject | ||
↳ | java.rmi.server.RemoteServer | ||
↳ | java.rmi.activation.Activatable |
The Activatable
class provides support for remote
objects that require persistent access over time and that
can be activated by the system.
For the constructors and static exportObject
methods,
the stub for a remote object being exported is obtained as described in
UnicastRemoteObject
.
An attempt to serialize explicitly an instance of this class will fail.
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs an activatable remote object by registering
an activation descriptor (with the specified location, data, and
restart mode) for this object, and exporting the object with the
specified port.
| |||||||||||
Constructs an activatable remote object by registering
an activation descriptor (with the specified location, data, and
restart mode) for this object, and exporting the object with the
specified port, and specified client and server socket factories.
| |||||||||||
Constructor used to activate/export the object on a specified
port.
| |||||||||||
Constructor used to activate/export the object on a specified
port.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Registers an activation descriptor (with the specified location,
data, and restart mode) for the specified object, and exports that
object with the specified port.
| |||||||||||
Export the activatable remote object to the RMI runtime to make
the object available to receive incoming calls.
| |||||||||||
Registers an activation descriptor (with the specified location,
data, and restart mode) for the specified object, and exports that
object with the specified port, and the specified client and server
socket factories.
| |||||||||||
Export the activatable remote object to the RMI runtime to make
the object available to receive incoming calls.
| |||||||||||
Informs the system that the object with the corresponding activation
id is currently inactive. | |||||||||||
Register an object descriptor for an activatable remote
object so that is can be activated on demand.
| |||||||||||
Remove the remote object, obj, from the RMI runtime.
| |||||||||||
Revokes previous registration for the activation descriptor
associated with
id . |
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns the object's activation identifier.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
Constructs an activatable remote object by registering an activation descriptor (with the specified location, data, and restart mode) for this object, and exporting the object with the specified port.
Note: Using the Activatable
constructors that both register and export an activatable remote
object is strongly discouraged because the actions of registering
and exporting the remote object are not guaranteed to be
atomic. Instead, an application should register an activation
descriptor and export a remote object separately, so that exceptions
can be handled properly.
This method invokes the exportObject
method with this object, and the specified location,
data, restart mode, and port. Subsequent calls to getID()
will return the activation identifier returned from the call to
exportObject
.
location | the location for classes for this object |
---|---|
data | the object's initialization data |
restart | if true, the object is restarted (reactivated) when
either the activator is restarted or the object's activation group
is restarted after an unexpected crash; if false, the object is only
activated on demand. Specifying restart to be
true does not force an initial immediate activation of
a newly registered object; initial activation is lazy. |
port | the port on which the object is exported (an anonymous port is used if port=0) |
ActivationException | if object registration fails. |
---|---|
RemoteException | if either of the following fails: a) registering the object with the activation system or b) exporting the object to the RMI runtime. |
Constructs an activatable remote object by registering an activation descriptor (with the specified location, data, and restart mode) for this object, and exporting the object with the specified port, and specified client and server socket factories.
Note: Using the Activatable
constructors that both register and export an activatable remote
object is strongly discouraged because the actions of registering
and exporting the remote object are not guaranteed to be
atomic. Instead, an application should register an activation
descriptor and export a remote object separately, so that exceptions
can be handled properly.
This method invokes the exportObject
method with this object, and the specified location,
data, restart mode, port, and client and server socket factories.
Subsequent calls to getID()
will return the activation
identifier returned from the call to exportObject
.
location | the location for classes for this object |
---|---|
data | the object's initialization data |
restart | if true, the object is restarted (reactivated) when
either the activator is restarted or the object's activation group
is restarted after an unexpected crash; if false, the object is only
activated on demand. Specifying restart to be
true does not force an initial immediate activation of
a newly registered object; initial activation is lazy. |
port | the port on which the object is exported (an anonymous port is used if port=0) |
csf | the client-side socket factory for making calls to the remote object |
ssf | the server-side socket factory for receiving remote calls |
ActivationException | if object registration fails. |
---|---|
RemoteException | if either of the following fails: a) registering the object with the activation system or b) exporting the object to the RMI runtime. |
Constructor used to activate/export the object on a specified port. An "activatable" remote object must have a constructor that takes two arguments:
ActivationID
), and
MarshalledObject
).
A concrete subclass of this class must call this constructor when it is
activated via the two parameter constructor described above. As
a side-effect of construction, the remote object is "exported"
to the RMI runtime (on the specified port
) and is
available to accept incoming calls from clients.
id | activation identifier for the object |
---|---|
port | the port number on which the object is exported |
RemoteException | if exporting the object to the RMI runtime fails |
---|
Constructor used to activate/export the object on a specified port. An "activatable" remote object must have a constructor that takes two arguments:
ActivationID
), and
MarshalledObject
).
A concrete subclass of this class must call this constructor when it is
activated via the two parameter constructor described above. As
a side-effect of construction, the remote object is "exported"
to the RMI runtime (on the specified port
) and is
available to accept incoming calls from clients.
id | activation identifier for the object |
---|---|
port | the port number on which the object is exported |
csf | the client-side socket factory for making calls to the remote object |
ssf | the server-side socket factory for receiving remote calls |
RemoteException | if exporting the object to the RMI runtime fails |
---|
Registers an activation descriptor (with the specified location, data, and restart mode) for the specified object, and exports that object with the specified port.
Note: Using this method (as well as the
Activatable
constructors that both register and export
an activatable remote object) is strongly discouraged because the
actions of registering and exporting the remote object are
not guaranteed to be atomic. Instead, an application should
register an activation descriptor and export a remote object
separately, so that exceptions can be handled properly.
This method invokes the exportObject
method with the specified object, location, data,
restart mode, and port, and null
for both client and
server socket factories, and then returns the resulting activation
identifier.
obj | the object being exported |
---|---|
location | the object's code location |
data | the object's bootstrapping data |
restart | if true, the object is restarted (reactivated) when
either the activator is restarted or the object's activation group
is restarted after an unexpected crash; if false, the object is only
activated on demand. Specifying restart to be
true does not force an initial immediate activation of
a newly registered object; initial activation is lazy. |
port | the port on which the object is exported (an anonymous port is used if port=0) |
desc
, with the activation system
the wrong groupActivationException | if activation group is not active |
---|---|
RemoteException | if object registration or export fails |
Export the activatable remote object to the RMI runtime to make
the object available to receive incoming calls. The object is
exported on an anonymous port, if port
is zero.
During activation, this exportObject
method should
be invoked explicitly by an "activatable" object, that does not
extend the Activatable
class. There is no need for objects
that do extend the Activatable
class to invoke this
method directly because the object is exported during construction.
obj | the remote object implementation |
---|---|
id | the object's activation identifier |
port | the port on which the object is exported (an anonymous port is used if port=0) |
RemoteException | if object export fails |
---|
Registers an activation descriptor (with the specified location, data, and restart mode) for the specified object, and exports that object with the specified port, and the specified client and server socket factories.
Note: Using this method (as well as the
Activatable
constructors that both register and export
an activatable remote object) is strongly discouraged because the
actions of registering and exporting the remote object are
not guaranteed to be atomic. Instead, an application should
register an activation descriptor and export a remote object
separately, so that exceptions can be handled properly.
This method first registers an activation descriptor for the
specified object as follows. It obtains the activation system by
invoking the method ActivationGroup.getSystem
. This method then obtains an ActivationID
for the object by invoking the activation system's
registerObject
method with
an ActivationDesc
constructed with the specified object's
class name, and the specified location, data, and restart mode. If
an exception occurs obtaining the activation system or registering
the activation descriptor, that exception is thrown to the caller.
Next, this method exports the object by invoking the exportObject
method with the specified remote object, the
activation identifier obtained from registration, the specified
port, and the specified client and server socket factories. If an
exception occurs exporting the object, this method attempts to
unregister the activation identifier (obtained from registration) by
invoking the activation system's unregisterObject
method with the
activation identifier. If an exception occurs unregistering the
identifier, that exception is ignored, and the original exception
that occurred exporting the object is thrown to the caller.
Finally, this method invokes the activeObject
method on the activation
group in this VM with the activation identifier and the specified
remote object, and returns the activation identifier to the caller.
obj | the object being exported |
---|---|
location | the object's code location |
data | the object's bootstrapping data |
restart | if true, the object is restarted (reactivated) when
either the activator is restarted or the object's activation group
is restarted after an unexpected crash; if false, the object is only
activated on demand. Specifying restart to be
true does not force an initial immediate activation of
a newly registered object; initial activation is lazy. |
port | the port on which the object is exported (an anonymous port is used if port=0) |
csf | the client-side socket factory for making calls to the remote object |
ssf | the server-side socket factory for receiving remote calls |
ActivationException | if activation group is not active |
---|---|
RemoteException | if object registration or export fails |
Export the activatable remote object to the RMI runtime to make
the object available to receive incoming calls. The object is
exported on an anonymous port, if port
is zero.
During activation, this exportObject
method should
be invoked explicitly by an "activatable" object, that does not
extend the Activatable
class. There is no need for objects
that do extend the Activatable
class to invoke this
method directly because the object is exported during construction.
obj | the remote object implementation |
---|---|
id | the object's activation identifier |
port | the port on which the object is exported (an anonymous port is used if port=0) |
csf | the client-side socket factory for making calls to the remote object |
ssf | the server-side socket factory for receiving remote calls |
RemoteException | if object export fails |
---|
Informs the system that the object with the corresponding activation
id
is currently inactive. If the object is currently
active, the object is "unexported" from the RMI runtime (only if
there are no pending or in-progress calls)
so the that it can no longer receive incoming calls. This call
informs this VM's ActivationGroup that the object is inactive,
that, in turn, informs its ActivationMonitor. If this call
completes successfully, a subsequent activate request to the activator
will cause the object to reactivate. The operation may still
succeed if the object is considered active but has already
unexported itself.
id | the object's activation identifier |
---|
UnknownObjectException | if object is not known (it may already be inactive) |
---|---|
ActivationException | if group is not active |
RemoteException | if call informing monitor fails |
Register an object descriptor for an activatable remote object so that is can be activated on demand.
desc | the object's descriptor |
---|
UnknownGroupException | if group id in desc
is not registered with the activation system |
---|---|
ActivationException | if activation system is not running |
RemoteException | if remote call fails |
Remove the remote object, obj, from the RMI runtime. If successful, the object can no longer accept incoming RMI calls. If the force parameter is true, the object is forcibly unexported even if there are pending calls to the remote object or the remote object still has calls in progress. If the force parameter is false, the object is only unexported if there are no pending or in progress calls to the object.
obj | the remote object to be unexported |
---|---|
force | if true, unexports the object even if there are pending or in-progress calls; if false, only unexports the object if there are no pending or in-progress calls |
NoSuchObjectException | if the remote object is not currently exported |
---|
Revokes previous registration for the activation descriptor
associated with id
. An object can no longer be
activated via that id
.
id | the object's activation identifier |
---|
UnknownObjectException | if object (id ) is unknown |
---|---|
ActivationException | if activation system is not running |
RemoteException | if remote call to activation system fails |
Returns the object's activation identifier. The method is protected so that only subclasses can obtain an object's identifier.