如果我从命令行创建 RMI 注册表,客户端将对象绑定(bind)到注册表时不会出现问题。
但是,如果我使用 ProcessBuilder 启动 RMI 注册表,则会出现错误。
这是我使用 ProcessBuilder
创建 rmiregistry
的代码
ProcessBuilder obj = new ProcessBuilder ("rmiregistry","2500");
Process obj_process = obj.start();
当我尝试绑定(bind)到我自己的 RMI 注册表时,我因使用 ProcessBuilder
而遇到错误
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: node_func
node_func
是一个接口(interface)
有什么想法吗?
最佳答案
我不明白为什么当您可以使用 LocateRegistry.createRegistry() 时要启动一个单独的进程。如果你这样做了,这个问题也会消失。
关于java - 使用 ProcessBuilder 时客户端无法连接 RMI 注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12359651/