Java RMI:同一台机器上的多个rmiregistry

时间:2015-02-09 16:08:32

标签: java rmi

我们正在使用Java RMI开发客户端 - 服务器应用程序,为了进行测试,我们将使用计算机作为客户端和服务器。因此客户端和服务器应用程序必须在同一台机器上调用rmiregistry,但它们显然是两个不同的JVM。我们怎么做?我们希望只需要为LocateRegistry提供不同的端口,但我们得到NotBoundException ... 什么是正确的方法?

2 个答案:

答案 0 :(得分:1)

你可以随心所欲地跑,但为什么?你不需要。让服务器通过LocateRegistry.createRegistry()启动自己的注册表,并让客户端查找该注册表。您似乎认为客户端需要自己的注册表,这是不正确的。

如果你明确地得到NotBoundException,那么该服务在任何注册表中都没有绑定,或者你查找错误的服务。

答案 1 :(得分:0)

RMI Registry是一个维护服务注册表的服务器。

因此,您的服务器应连接到RMI注册表并在其中注册,而客户端应连接到RMI注册表并查找您的服务器

因此,您需要在计算机上运行单个 RMI注册表。

您似乎得到了NotBoundException,因为您有两个