を使用していましたが、これには問題があります。つまり、それを呼び出すプロセス内で実行されるため、複数のJVMを使用している場合、レジストリを開始したJVMがクラッシュすると、すべてのLocateRegistry.createRegistry()
レジストリが停止します。 JVM。
したがって、rmiregistry(または何か?)を使用して、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に問題がある場合、何をする必要がありますか?