|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface Activator
Activator
方便了遠端物件啟動。“失效的”遠端參考調用啟動器 (activator) 的 activate
方法來獲得到“可啟動的”遠端物件的“活”參考。接收到啟動的請求後,啟動器為啟動標識符 id
尋找啟動描述符,確定應當啟動的物件所在的組通過組的 ActivationInstantiator
來初始化物件重創建(通過調用 newInstance
方法)。啟動器在必要時才初始化啟動組的執行。例如,如果針對某個特定組標識符的啟動組尚未執行,則啟動器為該組初始化 VM 的執行。
Activator
與 ActivationSystem
和 ActivationMonitor
緊密協作,ActivationSystem
提供了一種方式來註冊那些組中的組和物件,而 ActivationMonitor
接收有關活動和不活動物件以及不活動組的資訊。
啟動器負責監視和檢測,當啟動組失敗時,它可以移除那些組中的組和活動物件的舊遠端參考。
ActivationInstantiator
,
ActivationGroupDesc
,
ActivationGroupID
方法摘要 | |
---|---|
MarshalledObject<? extends Remote> |
activate(ActivationID id,
boolean force)
啟動與啟動標識符 id 關聯的物件。 |
方法詳細資訊 |
---|
MarshalledObject<? extends Remote> activate(ActivationID id, boolean force) throws ActivationException, UnknownObjectException, RemoteException
id
關聯的物件。如果啟動器知道物件已經是活動的,並且 force
為 false,則立即向調用方返回具有一個“活”參考的 stub;否則,如果啟動器不知道對應的遠端物件是否為活動的,則啟動器使用啟動描述符資訊(前面已註冊)來確定應當被啟動的物件所在的組 (VM)。如果與物件組描述符相對應的 ActivationInstantiator
已經存在,則啟動器調用啟動組的 newInstance
方法來傳遞物件的 id 和描述符。
如果針對該物件的組描述符的啟動組尚未存在,則啟動器啟動一次 ActivationInstantiator
執行(例如,通過產生一個子進程)。當啟動器接收到啟動組的指定該啟動組參考的回調(通過 ActivationSystem
的 activeGroup
方法)時,然後啟動器可以調用該啟動初始化程序的 newInstance
方法來轉發每一個掛起的啟動請求給啟動組,並且向調用方返回結果(一個編組的遠端物件參考,一個 stub)。
注意,啟動器接收一個“編組”的物件,而不是一個遠端物件,以便啟動器無需為該物件載入程式碼或者參與針對該物件的分佈式垃圾收集。如果啟動器保持對該遠端物件的一個強參考,則在正常的分佈式垃圾收集機制下,啟動器可能阻止物件被垃圾回收。
id
- 正被啟動的物件的啟動標識符force
- 如果為 true,啟動器聯絡該組來獲得該遠端物件的參考;如果為 false,返回允許的快取記憶體值。
ActivationException
- 如果物件啟動失敗
UnknownObjectException
- 如果物件未知(未註冊)
RemoteException
- 如果遠端調用失敗
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。