java: rmiregistry setup



所以我使用LocateRegistry.createRegistry(),但这有一个问题:即,它在调用它的进程中运行,所以如果我使用多个JVM,那么启动注册表的JVM崩溃将删除所有 JVM的注册表。

因此,看起来我需要使用RMI registry(或其他什么?)来将执行RMI查找/绑定的进程与服务器jvm隔离开来。

我尝试这样做,现在我得到这个错误,当我尝试做Registry.rebind():

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.lang.ClassNotFoundException: {my remote interface name}
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:396)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
    at sun.rmi.transport.Transport$1.run(Transport.java:159)
    at java.security.AccessController.doPrivileged(Native Method)

我做错了什么?我在谷歌上搜索了这个例外& &;它与RMI代码库有关,但我在这里真的迷路了。如果问题在rmiregistry命令中,命令行选项是什么来告诉它做什么?如果问题在我的服务器JVM中,我需要做什么?

什么崩溃?我已经很多年没有看到JVM崩溃了。除非您有JNI,否则包含RMI服务器的JVM不会比由rmiregistry命令启动的独立JVM更容易崩溃。使用locaterregistry . createrregistry()可以永远解决类路径问题。

相关内容

  • 没有找到相关文章

最新更新