使用java rmi激活系统的主要目的是什么?

时间:2013-04-21 18:44:28

标签: java rmi

首先,我正在阅读有关rmi规范的java官方文档。 http://docs.oracle.com/javase/7/docs/technotes/guides/rmi/index.html http://docs.oracle.com/javase/7/docs/platform/rmi/spec/rmi-activation2.html

除了rmi激活部分之外,可以很容易地理解oracle网站上列出的java rmi中的功能。我已经阅读了rmi激活机制的详细文档,但仍然对实际场景中的有用实践一无所知。

因此,这几个问题确实让我困惑如下:

  1. 关于doc,rmid是指定远程rmi的路由器 服务器并仅将服务器信息返回给客户端一次。 这看起来与rmiregistry的类似功能,rmiregistry是服务器注册服务的地方。什么是 如果我们没有它会有区别吗?
  2. 此机制是否包含服务器 自动恢复或故障转移功能?换句话说,我已经知道远程rmi服务器应该在RMID上注册,如果其中一个远程rmi服务器(可能在不同的机器上)崩溃,RMID可以检测到这个并触发这个远程rmi服务器弹跳吗?
  3. 可以通过使用rmi API实现rmid的功能,以便在我的自定义独立服务器中运行相同的功能,而不是使用JDK RMID工具。例如,工具 rmiregistry 可以替换为rmi API LocateRegistry.createRegistry(regPort);
  4. 请提前告知或提供相关材料。

1 个答案:

答案 0 :(得分:0)

  

关于doc,rmid是一个路由器,它指定远程rmi服务器并仅将服务器信息返回给客户端一次。

没有。文档没有说明。 'rmid'是一个守护进程,如果它尚未运行,它将启动远程对象。

  

这看起来与rmiregistry的相似功能

没有

  

此机制是否包含服务器自动恢复或故障转移功能?

如果包含激活的远程对象的JVM退出,或者激活的远程对象自行取消激活,则rmid将根据需要重新启动它。

  

可以在独立服务器上运行rmid,并通过java API而不是rmi工具进行初始化吗?

我不明白这个问题。