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