Tomcat中JMX的RMI存根

时间:2011-09-23 10:39:08

标签: java rmi jmx

我正在为JMX创建类似于in this blog post指令的RMI存根,并按预期打开一个侦听端口。当我尝试使用JMX连接到端口时,出现以下错误:

java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.NameNotFoundException: jmxrmi
        at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:340)
        at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)
        at ....
Caused by: javax.naming.NameNotFoundException: jmxrmi
        at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:99)
        at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:185)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1888)
        at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1858)
        at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:257)
... 2 more

我有没有办法调试RMI服务器,看看为什么找不到这个名字?

由于

3 个答案:

答案 0 :(得分:0)

看起来你遗漏了一个':'。你应该有服务:jmx:rmi ...

答案 1 :(得分:0)

连接器的名称是URL的最后一部分(在博客文章中它是“连接器”)。将其更改为“jmxrmi”。

答案 2 :(得分:0)

原来,其中一个配置选项指向一个不存在的文件。 JMX默默地摔倒了:(