jmx4r[http://github.com/jmesnil/jmx4r/] is a JMX library for JRuby.
It can be used to write simple Ruby scripts running on JRuby[http://jruby.org]
to manage remote Java applications (e.g. JBoss[http://www.jboss.org],
Tomcat[http://tomcat.apache.org/]) using
JMX[http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/].
jmx4r helps to manage Java applications using JMX in a simple and powerful way:
* no need to depend on the Java interfaces of the MBean in your management code. This means less deployment issues
* Thanks to Ruby metaprogramming toolset, you can treat your MBeans as simple objects and jmx4r hides all the complexity to map them to the javax.management API for you
* you can manage your own JVM (e.g. if you're running a Rails on JRuby application) or a remote JVM in the same way
== Installation
jruby -S gem install jmx4r
== Usage
# To trigger a garbage collection on a Java application:
require 'rubygems'
require 'jmx4r'
JMX::MBean.establish_connection :host => "localhost", :port => 3000
memory = JMX::MBean.find_by_name "java.lang:type=Memory"
# display verbose GC logs
memory.verbose = true
# trigger a Garbage Collection
memory.gc
== Help
* Wiki[http://jmesnil.net/wiki/Jmx4r]
* RDoc[http://jmx4r.rubyforge.org/doc/]
== Source Code
git clone git://github.com/jmesnil/jmx4r.git