jmx4r
jmx4r copied to clipboard
a JMX library for JRuby
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
For local processes not publishing jmxrmi ports, instead:
connect to the local JConsole process
JMX::MBean.establish_connection :command => /jconsole/i
== Help
- RDoc[http://rubydoc.info/gems/jmx4r/frames]
== Source Code
git clone git://github.com/jmesnil/jmx4r.git