test/tc_dynamic_mbean.rb in jmx4r-0.1.0 vs test/tc_dynamic_mbean.rb in jmx4r-0.1.1
- old
+ new
@@ -22,14 +22,15 @@
rw_attribute :boolean_attr, :boolean, "a Boolean attribute"
end
def test_attribute_types
mbean = AttributeTypesMBean.new
- mbeanServer = ManagementFactory.platform_mbean_server
- mbeanServer.register_mbean mbean, ObjectName.new("jmx4r:name=AttributeTypesMBean")
+ object_name = ObjectName.new "jmx4r:name=AttributeTypesMBean"
+ mbean_server = ManagementFactory.platform_mbean_server
+ mbean_server.register_mbean mbean, object_name
- mbean = JMX::MBean.find_by_name "jmx4r:name=AttributeTypesMBean", :connection => mbeanServer
+ mbean = JMX::MBean.find_by_name object_name.to_s, :connection => mbean_server
mbean.string_attr = "test"
assert_equal("test", mbean.string_attr)
mbean.byte_attr = 9
assert_equal(9, mbean.byte_attr)
@@ -55,10 +56,12 @@
mbean.map_attr = { "a" => 1, "b" => 2}
assert_equal({ "a" => 1, "b" => 2}.to_a.sort, mbean.map_attr.to_a.sort)
mbean.boolean_attr = true
assert_equal(true, mbean.boolean_attr)
+
+ mbean_server.unregister_mbean object_name
end
class OperationInvocationMBean < JMX::DynamicMBean
operation "reverse the string passed in parameter"
parameter :string, "arg", "a String to reverse"
@@ -68,15 +71,18 @@
end
end
def test_operation_invocation
mbean = OperationInvocationMBean.new
- mbeanServer = ManagementFactory.platform_mbean_server
- mbeanServer.register_mbean mbean, ObjectName.new("jmx4r:name=OperationInvocationMBean")
+ object_name = ObjectName.new "jmx4r:name=OperationInvocationMBean"
+ mbean_server = ManagementFactory.platform_mbean_server
+ mbean_server.register_mbean mbean, object_name
- mbean = JMX::MBean.find_by_name "jmx4r:name=OperationInvocationMBean", :connection => mbeanServer
+ mbean = JMX::MBean.find_by_name object_name.to_s, :connection => mbean_server
assert_equal("oof", mbean.reverse("foo"))
+
+ mbean_server.unregister_mbean object_name
end
class Foo < JMX::DynamicMBean
rw_attribute :foo_attr, :string
@@ -99,30 +105,51 @@
end
end
def test_separate_dynamic_beans_have_separate_operations_and_attributes
mbean_server = ManagementFactory.platform_mbean_server
- mbean_server.register_mbean Foo.new, ObjectName.new("jmx4r:name=foo")
- mbean_server.register_mbean Bar.new, ObjectName.new("jmx4r:name=bar")
+ foo_object_name = ObjectName.new "jmx4r:name=foo"
+ bar_object_name = ObjectName.new "jmx4r:name=bar"
+ mbean_server.register_mbean Foo.new, foo_object_name
+ mbean_server.register_mbean Bar.new, bar_object_name
- foo_mbean = JMX::MBean.find_by_name "jmx4r:name=foo", :connection => mbean_server
+ foo_mbean = JMX::MBean.find_by_name foo_object_name.to_s, :connection => mbean_server
assert_equal "foo test", foo_mbean.foo("test")
assert_raise(NoMethodError){
foo_mbean.bar("test")
}
foo_mbean.foo_attr = "test"
assert_equal "test", foo_mbean.foo_attr
assert_raise(NoMethodError){
foo_mbean.bar_attr = "test"
}
- bar_mbean = JMX::MBean.find_by_name "jmx4r:name=bar", :connection => mbean_server
+ bar_mbean = JMX::MBean.find_by_name bar_object_name.to_s, :connection => mbean_server
assert_equal "bar test", bar_mbean.bar("test")
assert_raise(NoMethodError) {
bar_mbean.foo("test")
}
bar_mbean.bar_attr = "test"
assert_equal "test", bar_mbean.bar_attr
assert_raise(NoMethodError){
bar_mbean.foo_attr = "test"
}
+
+ mbean_server.unregister_mbean foo_object_name
+ mbean_server.unregister_mbean bar_object_name
+ end
+
+ def test_get_attributes
+ foo = Foo.new
+ foo.foo_attr = "value"
+
+ object_name = ObjectName.new "jmx4r:name=baz"
+ mbean_server = ManagementFactory.platform_mbean_server
+ mbean_server.register_mbean foo, object_name
+
+ foo_mbean = JMX::MBean.find_by_name object_name.to_s, :connection => mbean_server
+ attrs = mbean_server.get_attributes object_name, ["foo_attr"].to_java(:string)
+ assert_equal foo.foo_attr, attrs[0]
+
+ mbean_server.unregister_mbean object_name
+
end
end