require 'java' module JMX include_package 'javax.management' include_package 'javax.management.remote' include_package 'java.util' class MBean include_class 'javax.management.ObjectName' def initialize(mbsc, object_name) @mbsc = mbsc @object_name = ObjectName.new object_name info = mbsc.getMBeanInfo @object_name info.attributes.each do | mbean_attr | self.class.instance_eval do define_method mbean_attr.name do @mbsc.getAttribute @object_name, "#{mbean_attr.name}" end end end end end url = JMXServiceURL.new "service:jmx:rmi:///jndi/rmi://localhost:3000/jmxrmi" connector = JMXConnectorFactory::connect url, HashMap.new mbsc = connector.mbean_server_connection logging = MBean.new mbsc, "java.util.logging:type=Logging" # list all Loggers logging.LoggerNames.each do | logger_name | puts logger_name end end