- All Superinterfaces:
Remote
public interface ActivationMonitor extends Remote
An
ActivationMonitor
is specific to an
ActivationGroup
and is obtained when a group is
reported active via a call to
ActivationSystem.activeGroup
(this is done
internally). An activation group is responsible for informing its
ActivationMonitor
when either: its objects become active or
inactive, or the group as a whole becomes inactive.- Since:
- 1.2
- See Also:
Activator
,ActivationSystem
,ActivationGroup
-
Method Summary
Modifier and Type Method Description void
activeObject(ActivationID id, MarshalledObject<? extends Remote> obj)
Informs that an object is now active.void
inactiveGroup(ActivationGroupID id, long incarnation)
Informs that the group is now inactive.void
inactiveObject(ActivationID id)
An activation group calls its monitor'sinactiveObject
method when an object in its group becomes inactive (deactivates).
-
Method Details
-
inactiveObject
An activation group calls its monitor'sinactiveObject
method when an object in its group becomes inactive (deactivates). An activation group discovers that an object (that it participated in activating) in its VM is no longer active, via calls to the activation group'sinactiveObject
method.The
inactiveObject
call informs theActivationMonitor
that the remote object reference it holds for the object with the activation identifier,id
, is no longer valid. The monitor considers the reference associated withid
as a stale reference. Since the reference is considered stale, a subsequentactivate
call for the same activation identifier results in re-activating the remote object.- Parameters:
id
- the object's activation identifier- Throws:
UnknownObjectException
- if object is unknownRemoteException
- if remote call fails- Since:
- 1.2
-
activeObject
void activeObject(ActivationID id, MarshalledObject<? extends Remote> obj) throws UnknownObjectException, RemoteExceptionInforms that an object is now active. AnActivationGroup
informs its monitor if an object in its group becomes active by other means than being activated directly (i.e., the object is registered and "activated" itself).- Parameters:
id
- the active object's idobj
- the marshalled form of the object's stub- Throws:
UnknownObjectException
- if object is unknownRemoteException
- if remote call fails- Since:
- 1.2
-
inactiveGroup
void inactiveGroup(ActivationGroupID id, long incarnation) throws UnknownGroupException, RemoteExceptionInforms that the group is now inactive. The group will be recreated upon a subsequent request to activate an object within the group. A group becomes inactive when all objects in the group report that they are inactive.- Parameters:
id
- the group's idincarnation
- the group's incarnation number- Throws:
UnknownGroupException
- if group is unknownRemoteException
- if remote call fails- Since:
- 1.2
-