【问题标题】:Could not start jstatd on ubuntu server无法在 ubuntu 服务器上启动 jstatd
【发布时间】:2013-06-30 20:28:58
【问题描述】:

我想设置两台运行 jstatd 的服务器,这样我就可以实时监控我的应用程序。 Web 服务器已经启动并运行,但另一台服务器总是出现类似这样的异常。

无法将 /JStatRemoteHost 绑定到 RMI 注册表 java.rmi.ServerException:服务器线程发生RemoteException; 嵌套异常是:java.rmi.UnmarshalException: error 解组论点;嵌套异常是: 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) 在 sun.rmi.transport.Transport$1.run(Transport.java:177) 在 sun.rmi.transport.Transport$1.run(Transport.java:174) 在 java.security.AccessController.doPrivileged(Native Method) 在 sun.rmi.transport.Transport.serviceCall(Transport.java:173) 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:722) 在 sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273) 在 sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251) 在 sun.rmi.server.UnicastRef.invoke(UnicastRef.java:377) 在 sun.rmi.registry.RegistryImpl_Stub.rebind(未知来源)在 java.rmi.Naming.rebind(Naming.java:177) 在 sun.tools.jstatd.Jstatd.bind(Jstatd.java:57) 在 sun.tools.jstatd.Jstatd.main(Jstatd.java:143) 原因: java.rmi.UnmarshalException:解组参数错误;嵌套的 例外是:java.lang.ClassNotFoundException: sun.jvmstat.monitor.remote.RemoteHost(无安全管理器:RMI 类 加载程序禁用)在 sun.rmi.registry.RegistryImpl_Skel.dispatch(未知来源)在 sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:409) 在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267) 在 sun.rmi.transport.Transport$1.run(Transport.java:177) 在 sun.rmi.transport.Transport$1.run(Transport.java:174) 在 java.security.AccessController.doPrivileged(Native Method) 在 sun.rmi.transport.Transport.serviceCall(Transport.java:173) 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:722) 引起: java.lang.ClassNotFoundException: sun.jvmstat.monitor.remote.RemoteHost(无安全管理器:RMI 类 加载程序禁用)在 sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:554) 在 java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:646) 在 java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:311) 在 sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:263) 在 java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1556) 在 java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1512) 在 java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348) 在 java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) ... 13 更多

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

授予代码库 "file:${java.home}/../lib/tools.jar" { 权限 java.security.AllPermission; };

我不知道问题出在哪里,请帮忙。

【问题讨论】:

    标签: rmiregistry jstatd


    【解决方案1】:

    我和你有同样的问题。

    据我了解,异常发生在 rmi 注册表 端,因为它找不到位于 sun.jvmstat.monitor.remote.RemoteHost 内部的类 strong>tools.jar

    在我的情况下,解决方案是在启动 rmiregistry 时指定 java.rmi.server.codebase 属性。指定代码库属性后,问题就消失了。 对于 Linux/Solaris,请尝试使用以下命令启动 rmiregistry

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

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

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

    希望对你有所帮助。

    【讨论】:

    • 我现在点击“无法在 1099 启动 RMI 命名服务”
    猜你喜欢
    • 2020-12-17
    • 2022-06-14
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多