java.rmi.activation

接口
异常
所有超级接口:
Remote

public interface ActivationMonitor
     
extends Remote

一个 ActivationMonitor 特定于一个 ActivationGroup,当一个组通过对 ActivationSystem.activeGroup 的调用(这是内部完成的)被报告为活动时,获得一个 ActivationMonitor。在以下任一情况下,一个激活组负责通知其 ActivationMonitor:它的对象成为活动的或者不活动的,或者整个组成为不活动的。

从以下版本开始:
1.2
另请参见:
Activator, ActivationSystem, ActivationGroup

方法摘要
 void activeObject(ActivationID id, MarshalledObject<? extends Remote> obj)
          通知某个对象现在是活动的。
 void inactiveGroup(ActivationGroupID id, long incarnation)
          通知该组现在是不活动的。
 void inactiveObject(ActivationID id)
          当组中的一个对象成为不活动(取消激活)时,一个激活组调用其监视器的 inactiveObject 方法。
 

方法详细信息

inactiveObject

void inactiveObject(ActivationID id)
                    throws UnknownObjectException,
                           RemoteException
当组中的一个对象成为不活动(取消激活)时,一个激活组调用其监视器的 inactiveObject 方法。通过调用激活组的 inactiveObject 方法,激活组发现其所参与激活的某个对象在其 VM 中不再为活动的。

inactiveObject 调用通知 ActivationMonitor,它为具有激活标识符 id 的对象所保持的远程对象引用不再有效。监视器把与 id 关联的引用当作一个旧引用。因为该引用被认为是陈旧的,对相同激活标识符的后续 activate 调用将导致重新激活该远程对象。

参数:
id - 对象的激活标识符
抛出:
UnknownObjectException - 如果对象未知
RemoteException - 如果远程调用失败
从以下版本开始:
1.2

activeObject

void activeObject(ActivationID id,
                  MarshalledObject<? extends Remote> obj)
                  throws UnknownObjectException,
                         RemoteException
通知某个对象现在是活动的。如果 ActivationGroup 组中的对象通过其他方式而不是被直接激活(即对象被注册并且“激活”其自身),则 ActivationGroup 将通知其监视器。

参数:
id - 激活对象的 id
obj - 编组形式的对象 stub
抛出:
UnknownObjectException - 如果对象未知
RemoteException - 如果远程调用失败
从以下版本开始:
1.2

inactiveGroup

void inactiveGroup(ActivationGroupID id,
                   long incarnation)
                   throws UnknownGroupException,
                          RemoteException
通知该组现在是不活动的。根据激活该组中对象的后续请求,重新创建该组。当组中所有的对象都报告它们是不活动的时候,组也成为不活动的。

参数:
id - 组 id
incarnation - 组的代号
抛出:
UnknownGroupException - 如果组未知
RemoteException - 如果远程调用失败
从以下版本开始:
1.2