public interface Activator extends Remote
Activator
方便的远程对象的激活。“断裂”远程引用调用激活的
activate
方法获得一个“活”指“激活”远程对象。当接收到一个请求激活,激活查找标识符的激活,激活的描述符
id
,确定该对象应该通过组织的
ActivationInstantiator
激活启动对象重新创作组(通过电话向
newInstance
法)。激活器启动必要的激活组的执行。例如,如果一个特定组标识符的激活组没有执行,则激活器启动组的虚拟机的执行。
的Activator
紧密与ActivationSystem
,它提供了一种注册组和对象的人群中,和ActivationMonitor
,这多少对活动和非活动对象和活动组的信息。
当激活组失败时,激活器负责监视和检测,以便它可以移除那些组中的组和活动对象的陈旧的远程引用。
ActivationInstantiator
,
ActivationGroupDesc
,
ActivationGroupID
Modifier and Type | Method and Description |
---|---|
MarshalledObject<? extends Remote> |
activate(ActivationID id, boolean force)
激活激活标识符关联的对象,
id 。
|
MarshalledObject<? extends Remote> activate(ActivationID id, boolean force) throws ActivationException, UnknownObjectException, RemoteException
id
。如果激活知道要活跃已经对象,和
force
是假的,一个“活”指的是立即返回给调用者的存根;否则,如果激活不知道相应的远程对象的激活活性,采用活化描述符信息(以前注册的)确定组(VM)该对象应该被激活。如果对应的对象的组描述符已经存在一个
ActivationInstantiator
,激活调用激活组的
newInstance
方法传递对象的ID和描述符。
如果对象的组描述符激活组不存在,激活启动ActivationInstantiator
执行(通过产生一个子进程,例如)。当激活接收激活组的电话回访(通过ActivationSystem
的activeGroup
法)指定激活组的引用,然后调用激活可以激活实例化的newInstance
方法提出每个等待激活请求激活组并返回结果(编组的远程对象的引用,一个存根)的来电。
注意,激活接收“组织”的对象,而不是一个远程对象的激活剂,不需要为对象的代码加载,或参与分布式垃圾收集的对象。如果激活器对远程对象保持很强的引用,激活器将阻止对象在正态分布的垃圾收集机制下被收集到的垃圾中。
id
-被激活的对象标识符的激活
force
-如果属实,激活接触组获得远程对象的引用;如果FALSE,返回缓存的值是允许的。
ActivationException
如果对象激活失败
UnknownObjectException
如果对象是未知的(未注册)
RemoteException
如果远程调用失败
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.