假设我的系统中有 3 个节点:节点 1、节点 2、节点 3,并且我在所有 3 个节点上都有远程对象。我的问题是这样的:
我可以在 node1 上运行一个注册表实例并让它管理跨 3 个节点的所有对象,还是每个节点都需要自己的注册表实例?即一个注册表可以只在自己的机器上管理对象,也可以在其他机器上管理对象吗?
导出远程对象的每个主机都必须有自己的注册表。只能从与注册表相同的主机中运行的进程执行Registry.bind()
。这是一种安全措施。
[有办法绕过它,但是...]
或者,您可以改用LDAP服务器,并使用JNDI进行绑定和查找,而不是Naming
或LocateRegistry.