Ease of use
The only runtime dependency of Jmxterm is JDK. The internal third party dependencies are wrapped by ready-to-run uberjar. User does not need to worry about the setup of dependencies.
Wrapped by uberjar, Jmxterm runs out of box with
java -jar jmxterm-<VERSION>-uber.jarcommand. No configuration, directory, environment variable or file permissions need to be setup ahead of time.
Jmxterm implementation is platform independent like most Java applications. However some features rely on JLine which has native implementation that supports major operating systems including Windows, Mac OS and most Linux distros.
Unlike cmdline-jmxclient, Jmxterm runs interactively. User can do a series of short operations in an interactive command line console and system is aware of context.
Every command is self documented with
Jmxterm itself does not support flow control commands but it can be smoothly embedded into scripting languages such as PERL or SHELL for complicated logic.
Jmxterm interactive command line console not only auto-complete commands, options with tab key, but also name of MBean domain and MBeans.
Powered by JLine , command history can be browsed with up/down arrow keys.
Connect a local PID
Jmxterm is aware of JVM processes running on localhost from the same run as user. It is able to connect these local processes without requiring process's MBean server to listen to a port.
Jmxterm supports password authentication.
Reporting and active watch
Jmxterm supports "watch" function that repeatedly prints out value of MBean attributes. With customizable output format, the "watch" feature can easily be extended for report generation.
With support of Maven RPM plugin , Jmxterm can be built into RPM package bundle in addition to uberjar. DEB support is on its way.