java.rmi.activation
Interface ActivationMonitor

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
Author:
Ann Wollrath
See Also:
Activator, ActivationSystem, ActivationGroup

Method Summary
 void activeObject(ActivationID id, MarshalledObject 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's inactiveObject method when an object in its group becomes inactive (deactivates).
 

Method Detail

inactiveObject

public void inactiveObject(ActivationID id)
                    throws UnknownObjectException,
                           RemoteException
An activation group calls its monitor's inactiveObject 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's inactiveObject method.

The inactiveObject call informs the ActivationMonitor 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 with id as a stale reference. Since the reference is considered stale, a subsequent activate 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 unknown
RemoteException - if remote call fails
Since:
1.2

activeObject

public void activeObject(ActivationID id,
                         MarshalledObject obj)
                  throws UnknownObjectException,
                         RemoteException
Informs that an object is now active. An ActivationGroup 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 id
obj - the marshalled form of the object's stub
Throws:
UnknownObjectException - if object is unknown
RemoteException - if remote call fails
Since:
1.2

inactiveGroup

public void inactiveGroup(ActivationGroupID id,
                          long incarnation)
                   throws UnknownGroupException,
                          RemoteException
Informs 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 id
incarnation - the group's incarnation number
Throws:
UnknownGroupException - if group is unknown
RemoteException - if remote call fails
Since:
1.2