In the previous Classpath releases, an instance of a UnicastRemoteObject could be accessed from a server that:
The the activation system allows to activate and execute the object implementation on demand rather than running all time.
See: Description
Interface Summary | |
---|---|
ActivationInstantiator | The implementation of this interface creates (instantiates) the new remote objects in response to the activation request. |
ActivationMonitor | The activation and inactivation event listener. |
ActivationSystem |
The ActivationSystem registers groups and activatable objects to be activated within those groups. |
Activator | Activates remote object, providing the live reference to the activable remote object. |
Class Summary | |
---|---|
Activatable | A common ancestor for the implementations of the activatable objects. |
ActivationDesc | Contains the information, necessary to activate the object. |
ActivationGroup | The entity that receives the request to activate object and activates it. |
ActivationGroupDesc | Contains information, necessary to create of recreate the activation objects. |
ActivationGroupDesc.CommandEnvironment | Contains the startup options for the {@link ActivationGroup} implementations. |
ActivationGroupID | This identifier identifies the activation group inside the scope of its activation system. |
ActivationGroup_Stub | A stub class for {@link ActivationGroup} implementations. |
ActivationID | Denotes the object that can be activated over time. |
Exception Summary | |
---|---|
ActivateFailedException | Thrown when activation fails on a remote call to an activatable object. |
ActivationException |
General exception class for java.rmi.activation .
|
UnknownGroupException |
Thrown when an ActivationGroupID parameter is invalid or
unknown.
|
UnknownObjectException |
Thrown when an ActivationID parameter is invalid or unknown.
|
The the activation system allows to activate and execute the object implementation on demand rather than running all time. If the activation system is persistent, the server can be terminated and then restarted. The clients, still holding remote references to the server side activatable objects, will activate those objects again. The server side objects will be reinstantiated (activated) during the first call of any remote method of such object.
The RMI client code for activatable objects is no different than the code for accessing non-activatable remote objects. Activation is a server-side feature.
In order for an object to be activated, the "activatable" object class (independently if it extends the {@link Activatable} class or not) defines a special public constructor that takes two arguments, its activation identifier ({@link ActivationID}) and its activation data ({@link java.rmi.MarshalledObject}), supplied in the activation descriptor used during registration. When an activation group activates a remote object, it constructs the object via this special constructor. The remote object implementation may use the activation data to initialize itself in a needed manner. The remote object may also retain its activation identifier, so that it can inform the activation group when it becomes inactive (via a call to the Activatable.inactive method).