2011-09-23 43 views
0

我正在爲JMX創建類似於指令in this blog post的RMI存根,並按預期打開偵聽端口。當我嘗試連接到使用JMX端口,我得到以下錯誤:Tomcat中JMX的RMI存根

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

原來,其中一個配置選項指向一個不存在的文件。 JMX無聲無息地丟了:(

0

看起來像你遺漏了':'。您應該有服務:jmx:rmi ...

+0

我得到了與「jmx:rmi」相同的錯誤。「jmxrmi」也是jconsole默認使用的東西。 – Steve

0

連接器的名稱是URL的最後一部分(在博客文章中它是「連接器」)。將其更改爲「jmxrmi」。