首先,我正在阅读关于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
oracle网站列出的java rmi中的特性,除了rmi激活部分外,很容易理解。我已经阅读了rmi激活机制的详细文档,但对实际场景中的有用实践仍然一无所知。
因此,这些是几个真正让我困惑的问题如下:
- 关于文档,rmid 是一个路由器,它指定远程 rmi 服务器,并且只将服务器信息返回给客户端一次。这看起来与 rmiregistry 类似的功能是服务器注册服务的地方。如果我们没有它有什么区别?
- 此机制是否包括服务器自动恢复或故障转移功能?换句话说,我已经知道远程 rmi 服务器应该在 RMID 上注册,如果远程 rmi 服务器之一(可能在不同的机器上)崩溃了,RMID 可以检测到这个并触发这个远程 rmi 服务器弹跳吗?
- 是否可以通过使用 rmi API 来实现 rmid 的功能,以便在我定制的独立服务器中运行相同的功能,而不是使用 JDK RMID 工具。例如,工具rmiregistry可以替换为 rmi API
LocateRegistry.createRegistry(regPort);
请告知或提供相关材料,先谢谢了。