public
Description: a JMX library for JRuby
Homepage: http://github.com/jmesnil/jmx4r/
Clone URL: git://github.com/jmesnil/jmx4r.git
jmx4r /
name age message
file .gitignore Sat Apr 12 11:50:35 -0700 2008 ignore doc & pkg dirs [jmesnil]
file AUTHORS.txt Thu Feb 12 05:00:29 -0800 2009 weblogic support * when creating the JMX conne... [Michael A. Nadel]
file LICENSE.txt Thu Apr 10 12:17:46 -0700 2008 initial commit [jmesnil]
file README.rdoc Thu Oct 22 01:41:08 -0700 2009 refactored [sat13f]
file Rakefile Thu Oct 22 05:30:53 -0700 2009 reverted version to (unreleased) 0.1.0 [jmesnil]
directory examples/ Mon Jun 15 04:26:56 -0700 2009 dynamic mbean example * added the example of a... [jmesnil]
directory lib/ Thu Oct 22 05:36:35 -0700 2009 fixed rdoc format [jmesnil]
directory test/ Thu Oct 22 01:41:07 -0700 2009 added local JVM connection feature [sat13f]
README.rdoc

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

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

Source Code

  git clone git://github.com/jmesnil/jmx4r.git