Jeff Mesnil
Weblog · Dev · Photos · Books

Gem for jmx4r + authentication

June 27, 2007

jmx4r is a library for JRuby to make it super easy to write Ruby scripts to manage remote Java applications through JMX.

Thanks to RubyForge, installing jmx4r is now as simple as typing

jruby -S gem install jmx4r

and its use is straightforward

#!/usr/bin/env jruby
require 'rubygems'
require 'jmx4r'    

# optional since by default, jmx4r tries to connect to 
# a JMX Server on localhost which listens to port 3000
JMX::MBean.establish_connection :host => "localhost", :port => 3000    

memory = JMX::MBean.find_by_name "java.lang:type=Memory"
# trigger a Garbage Collection
memory.gc

Since my previous post on jmx4r, I've added unit tests and some examples to highlight its features. It still needs to be properly documented though...

However, one new feature is worth mentioning: jmx4r now supports connection authentication

JMX::MBean.establish_connection :host => "localhost",
:username => "jeff", :password => "secret"

If you're using it, I'm very interested to now what you think about it.
And if you encounter any problem, do not hesitate to submit a bug.