2010-07-11 47 views
3

請問有人可以幫忙嗎?RMI問題:服務器關閉後對象引用會發生什麼?

問:應用程序服務器通過調用Naming.rebind()在RMI Registry中註冊一個對象。過了一段時間,服務器應用程序停止運行。解釋註冊表中註冊的對象引用會發生什麼情況。

答:我認爲引用在註冊表中保存了一段時間,但在此期間(「租期」?)本地垃圾收集器可以刪除引用。

我不知道如果「租賃期」的概念只適用於客戶端(使用髒淨電話),所以也許我誤解了RMI源...

+0

不知道你在問什麼,你提出一個問題,回答它,然後發表一個聲明。什麼是問題? – 2010-07-12 01:49:39

回答

3

你的答案不正確。 DGC租約到期不會導致遠程對象從註冊表中刪除。該條目將永遠留在註冊表中,或直到註冊表退出,或有人解除綁定。

實際情況是,存根'變成陳舊'。客戶端仍然可以在註冊表中查找它,或者保留它們已有的,但是如果服務器JVM仍在運行,則嘗試使用它(即通過它調用遠程方法)將引發NoSuchObjectException,否則將導致ConnectException

相關問題