JConsole / JMX broken on Ubuntu
Posted by Roger Keays, 11 February 2008, 2:22 PM
How annoying. I have just spent the last three hours trying to connect to Tomcat remotely using JConsole/JMX. It worked fine for one server, but not the other which was started with exactly the same settings. Eventually I found the problem: Ubuntu maps the hostname to 127.0.0.1 in /etc/hosts by default and this breaks the JMX protocol. It seems that JMX opens a separate socket stream for data (like FTP) and needs to provide the host's network address to do this.
Actually, my problem was already documented in the FAQ:
http://java.sun.com/j2se/1.5.0/docs/guide/management/faq.html
On a side note, I also had problems with Netbeans 6.0 being dog slow on Ubuntu. It seems to have had something to do with the GTK look and feel, because I fixed it by adding --laf javax.swing.plaf.metal.MetalLookAndFeel to the startup options in ${nbhome}/etc/netbeans.conf. It runs great now.
| << Korean Phonology and Hangul | Back to Blog | Phonemic orthography was a big mistake >> |
Comment posted by: Dave on 1 July 2008, 6:22 AM
I have the same problem as you, but I also have a dynamic IP address provided by a DHCP server. Any idea what my /ect/hosts entry should be to get jconsole working? Thanks!
Comment posted by: Roger Keays on 1 July 2008, 9:33 AM
Hey Dave, I can't this of anything that will work using /etc/hosts, but maybe you can use a dynamic dns server (dyndns.com, no-ip.com) so that your hostname always resolves to the correct IP. Or it might just be easier to update /etc/hosts by hand when your IP changes.
Add a comment
Please visit http://www.ilikespam.com/blog/jconsole-jmx-broken-on-ubuntu to add your comments.