在不同的进程中运行rmi客户端服务器...未绑定的异常

时间:2009-08-27 10:26:56

标签: java process client-server rmi

我需要编写一个RMI客户端/服务器应用程序,该服务器在不同的进程中运行。当我在同一个进程中运行我的代码时,一切正常,但在尝试使用

在新进程中运行服务器代码时
ProcessBuilder pb = new ProcessBuilder(
                        "java",
                        "-cp",
                        "bin",
                        "server.CodeboxServerImpl");

我从客户端抛出一个未绑定的异常。

我已经启动了rmiregestry,并且在我正在使用的客户端和服务器上的代码中

Registry reg = LocateRegistry.getRegistry("localhost");.
我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您应确保拥有started your rmi registery process

如果RemoteException出现问题,您将抛出LocateRegistry.getRegistry,而不是NotBoundException

如果您没有将服务器中的存根绑定到注册表,则可能会获得NotBoundException。在您的服务器代码中,您可以使用名称调用reg.bindProcessBuilder stub绑定到注册表。然后,客户端可以从注册表中获取该名称的stub

请阅读here以获取更多详细信息。