Skip to content

Instantly share code, notes, and snippets.

@masayuki038
Created November 6, 2011 18:02
Show Gist options
  • Save masayuki038/1343248 to your computer and use it in GitHub Desktop.
Save masayuki038/1343248 to your computer and use it in GitHub Desktop.
MBeanRegister using jmx4r
require 'rubygems'
require 'jmx4r'
import java.lang.management.ManagementFactory
import javax.management.ObjectName
class MBeanRegister < JMX::DynamicMBean
operation "regster mbean script"
parameter :string, "mbean class name"
parameter :string, "object name"
parameter :string, "strings of mbean script"
returns :void
def register(cname, oname, src)
begin
eval(src)
object_name = ObjectName.new oname
lib = cname.gsub(/([A-Z])/, '_\\1').downcase.sub(/^_/, '')
require lib
mbean = Object.const_get(cname).new
ManagementFactory.platform_mbean_server.register_mbean mbean, object_name
rescue => ex
puts ex
end
return nil
end
operation "unregister mbean"
parameter :string, "object name"
returns :void
def unregister(name)
object_name = ObjectName.new name
ManagementFactory.platform_mbean_server.unregister_mbean object_name
end
end
register = MBeanRegister.new
object_name = ObjectName.new "mbean_register:type=MBeanRegister"
ManagementFactory.platform_mbean_server.register_mbean register, object_name
gets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment