无法在ubuntu服务器上启动jstatd

Shi*_*oft 1 rmiregistry jstatd

我想设置两个运行jstatd的服务器,这样我就可以动态监控我的应用程序.Web服务器已经启动并运行,但是另一台服务器总是会遇到这样的例外情况.

无法将/ JStatRemoteHost绑定到RMI注册表java.rmi.ServerException:服务器线程中发生了RemoteException; 嵌套异常是:java.rmi.UnmarshalException:错误解组参数; 嵌套的例外是:抛出java.lang.ClassNotFoundException:sun.jvmstat.monitor.remote.RemoteHost(无安全管理器:RMI类装载器禁用)在sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:419)在sun.rmi .server.UnicastServerRef.dispatch(UnicastServerRef.java:267)at sun.rmi.transport.Transport $ 1.run(Transport.java:177)at sun.rmi.transport.Transport $ 1.run(Transport.java:174)at at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java)中的sun.rmi.transport.Transport.serviceCall(Transport.java:173)中的java.security.AccessController.doPrivileged(Native Method)java:143)引起:java.rmi.UnmarshalException:错误解组参数; 嵌套异常是:java.lang.ClassNotFoundException:sun.rmi.reg中的sun.rmi.registry.RegistryImpl_Skel.dispatch(未知源)sun.jvmstat.monitor.remote.RemoteHost(没有安全管理器:RMI类加载器被禁用).位于sun.rmi的sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)的sunastServerRef.oldDispatch(UnicastServerRef.java:409)位于sun.rmi的sun.rmi.transport.Transport $ 1.run(Transport.java:177). transport.Transport $ 1.run(Transport.java:174)位于sun.rmi.transport.tcp的sun.rmi.transport.Transport.serviceCall(Transport.java:173)的java.security.AccessController.doPrivileged(Native Method) .TCPTransport.handleMessages(TCPTransport.java:553)at sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler.

我确定jstatd加载了内容为的策略文件

grant codebase"file:$ {java.home} /../ lib/tools.jar"{permission java.security.AllPermission; };

我无法想象问题是什么来的,请帮忙.

小智 5

我遇到了和你一样的问题.

据我所知,异常发生在rmi注册表端,因为它无法找到位于tools.jar中的类sun.jvmstat.monitor.remote.RemoteHost.

在我的例子中,解决方案是在启动rmir​​egistry时指定java.rmi.server.codebase属性.指定codebase属性后问题就消失了.请尝试使用以下Linux/Solaris命令启动rmir​​egistry:

rmir​​egistry -J-Djava.rmi.server.codebase = file:$ {java.home} /../ lib/tools.jar&

或者用于Windows(虽然我没有完全测试)

启动rmiregistry -J-Djava.rmi.server.codebase ="%JAVA_HOME%/ ../lib/tools.jar"

希望它会对你有所帮助.