【问题标题】:RMI question: what happens to an object reference after server goes down?RMI 问题:服务器宕机后对象引用会发生什么?
【发布时间】:2010-07-11 15:59:34
【问题描述】:

有人可以帮忙吗?

问:应用服务器通过调用 Naming.rebind() 在 RMI Registry 中注册一个对象。一段时间后,服务器应用程序关闭。解释注册表中注册的对象引用会发生什么。

A:我认为引用会在 Registry 中保留一段时间,但在那段时间(“租约期”?)之后,本地垃圾收集器可以删除引用。

我不知道“租约期”概念是否仅对客户端有效(使用脏和干净的调用),所以也许我误解了 rmi 来源...

【问题讨论】:

  • 不确定你在问什么,你提出一个问题,回答它,然后发表声明。问题是什么?

标签: java garbage-collection rmi


【解决方案1】:

你的答案不正确。 DGC 租约到期不会导致从注册表中删除远程对象。该条目将永远保留在注册表中,或者直到注册表退出或有人解除绑定。

实际发生的是存根“变得陈旧”。客户端仍然可以在注册表中查找它,或者保留他们已经拥有的,但是任何使用它的尝试(即通过它调用远程方法)都会引发NoSuchObjectException,如果服务器 JVM 仍在运行,否则ConnectException.

【讨论】:

    猜你喜欢
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 2016-11-06
    • 1970-01-01
    • 2017-08-21
    相关资源
    最近更新 更多