jmx-dev Include JMXMP protocol in Java 9 by default?
Steven Schlansker
stevenschlansker at gmail.com
Fri Jan 16 19:33:44 UTC 2015
Hi jmx-dev, hopefully this is the right mailing list for this :)
JMX is a great technology for adding management capabilities to your Java apps.
We use it extensively to monitor and control our running applications.
However, the default RMI connector doesn’t play nicely with a lot of new
networking technologies. Anything from firewalls to NAT to running inside of
a Linux (or Docker) container makes RMI’s requirement of opening a random
port extremely onerous.
It is possible to get the default RMI connector to use fixed ports, but it’s not
easy at all.
Luckily, there’s the JMXMP connector! It’s nicer in almost every way - uses a single
port, you can specify a fixed port to listen on in the connector server URI, etc.
The only downside is that you need jmxremote_optional.jar included on your classpath.
This is even more inconvenient once you realize that you have to do the same to every
installation of jconsole and visualvm for every developer that wants to connect to
a JMXMP enabled service.
There’s a number of articles pointing this out on the internet at large, but seemingly
most Java devs still don’t know about it - presumably because it’s not installed by
default.
Is there any possibility of promoting the JMXMP connector out of jmxremote_optional into
the base JDK, perhaps in time for Java 9?
Thanks for considering,
Steven
More information about the jmx-dev
mailing list