多台机器上的 Java RMI 注册表对象管理

标签 java rmi rmiregistry

假设我的系统中有 3 个节点:node1、node2、node3,并且我在所有 3 个节点上都有远程对象。我的问题是这样的:

我可以在节点 1 上运行一个注册表实例并让它管理 3 个节点上的所有对象,还是每个节点都需要自己的注册表实例?即一个注册表可以只管理自己机器上的对象,还是也可以管理其他机器上的对象?

最佳答案

每个导出远程对象的主机都必须有自己的注册表。您只能从与注册表位于同一主机中运行的进程执行 Registry.bind()。这是一项安全措施。

[有办法解决这个问题,但是......]

或者您可以改用 LDAP 服务器,并使用 JNDI 进行绑定(bind)和查找,而不是 NamingLocateRegistry。

关于多台机器上的 Java RMI 注册表对象管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27024318/

相关文章:

java - Ehcache 与静态 map 缓存实现

java 检查 Date 实例是否有时间部分

java - 如何在android库gradle项目中包含依赖项?

java - 从 Activity 类中打开 Android 抽屉导航

java - 卸载通过 RMI 传递的类

java - Java RMI 服务器在哪里监听?

java - 服务器通过 RMI 无需注册

java - 为什么java RMI不能通过引用获取返回值

java - 机器对机器 Java RMI 是否需要 Web 服务器?

java - 正在运行 rmi 服务器,未找到类