我正在为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服务器,看看为什么找不到这个名字?
由于
答案 0 :(得分:0)
看起来你遗漏了一个':'。你应该有服务:jmx:rmi ...
答案 1 :(得分:0)
连接器的名称是URL的最后一部分(在博客文章中它是“连接器”)。将其更改为“jmxrmi”。
答案 2 :(得分:0)
原来,其中一个配置选项指向一个不存在的文件。 JMX默默地摔倒了:(