You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by ah...@apache.org on 2006/04/21 23:35:36 UTC
svn commit: r396009 - in /jakarta/hivemind/trunk/jmx/src:
java/org/apache/hivemind/management/impl/MBeanRegistryImpl.java
test/org/apache/hivemind/management/TestMBeanRegistry.java
test/org/apache/hivemind/management/testMBeanRegistry.xml
Author: ahuegen
Date: Fri Apr 21 14:35:34 2006
New Revision: 396009
URL: http://svn.apache.org/viewcvs?rev=396009&view=rev
Log:
Fix and test case for Hivemind-171: JMX Support does not work if you use the class directly as the interface
Modified:
jakarta/hivemind/trunk/jmx/src/java/org/apache/hivemind/management/impl/MBeanRegistryImpl.java
jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/TestMBeanRegistry.java
jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/testMBeanRegistry.xml
Modified: jakarta/hivemind/trunk/jmx/src/java/org/apache/hivemind/management/impl/MBeanRegistryImpl.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/jmx/src/java/org/apache/hivemind/management/impl/MBeanRegistryImpl.java?rev=396009&r1=396008&r2=396009&view=diff
==============================================================================
--- jakarta/hivemind/trunk/jmx/src/java/org/apache/hivemind/management/impl/MBeanRegistryImpl.java (original)
+++ jakarta/hivemind/trunk/jmx/src/java/org/apache/hivemind/management/impl/MBeanRegistryImpl.java Fri Apr 21 14:35:34 2006
@@ -127,7 +127,7 @@
Object mbean;
try
{
- Class managementInterface = servicePoint.getServiceInterface();
+ Class managementInterface = servicePoint.getDeclaredInterface();
// TODO: Check if ServiceModel is != pool and threaded
mbean = servicePoint.getService(managementInterface);
registerMBean(mbean, managementInterface, objectName);
Modified: jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/TestMBeanRegistry.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/TestMBeanRegistry.java?rev=396009&r1=396008&r2=396009&view=diff
==============================================================================
--- jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/TestMBeanRegistry.java (original)
+++ jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/TestMBeanRegistry.java Fri Apr 21 14:35:34 2006
@@ -87,11 +87,19 @@
server.registerMBean(mBean2, on2);
serverControl.setReturnValue(new ObjectInstance(on2, mBean2.getClass().getName()));
+ // This is a special case. A class without interface
+ Object mBean3 = registry.getService("test.management.MBean3", MBeanNonInterfaceTestService.class);
+ ObjectName on3 = new ObjectName("hivemind:name=bean3");
+ server.registerMBean(mBean3, on3);
+ serverControl.setReturnValue(new ObjectInstance(on3, mBean3.getClass().getName()));
+
// Call from unregisterBean
server.getObjectInstance(on1);
serverControl.setReturnValue(oin1);
server.unregisterMBean(on1);
+ // The automatically unregistered beans get unregistered in reverse order
+ server.unregisterMBean(on3);
server.unregisterMBean(on2);
replayControls();
@@ -158,6 +166,9 @@
server.registerMBean(null, null);
serverControl.setThrowable(new MBeanRegistrationException(new Exception(
"Registration failed")));
+ server.registerMBean(null, null);
+ serverControl.setThrowable(new MBeanRegistrationException(new Exception(
+ "Registration failed")));
replayControls();
@@ -169,7 +180,8 @@
}
/**
- * Ensures that a bean with management interface is registered as StandardMBean
+ * Ensures that a bean that doesn't implement one of the standard JMX
+ * interfaces (like DynamicMBean) is registered as StandardMBean.
*/
public void testStandardMBean() throws Exception
{
Modified: jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/testMBeanRegistry.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/testMBeanRegistry.xml?rev=396009&r1=396008&r2=396009&view=diff
==============================================================================
--- jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/testMBeanRegistry.xml (original)
+++ jakarta/hivemind/trunk/jmx/src/test/org/apache/hivemind/management/testMBeanRegistry.xml Fri Apr 21 14:35:34 2006
@@ -25,9 +25,14 @@
<create-instance class="MBeanTestService" model="primitive" />
</service-point>
+ <service-point id="MBean3" interface="MBeanNonInterfaceTestService">
+ <create-instance class="MBeanNonInterfaceTestService" model="primitive" />
+ </service-point>
+
<contribution configuration-id="hivemind.management.MBeans">
<mbean service-id="MBean1" start-method="start" />
<mbean service-id="MBean2" object-name="hivemind:name=bean2" />
+ <mbean service-id="MBean3" object-name="hivemind:name=bean3" />
</contribution>
</module>
---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org