jmx4r is a JMX library for JRuby.
It can be used to write simple Ruby scripts running on JRuby to manage remote Java applications (e.g. JBoss, Tomcat) using JMX.
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
jruby -S gem install jmx4r
# 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 # For local processes not publishing jmxrmi ports, instead: # connect to the local JConsole process JMX::MBean.establish_connection :command => /jconsole/i
git clone git://github.com/jmesnil/jmx4r.git