Author: dkulp
Date: Mon Mar 14 16:58:21 2011
New Revision: 1081468
URL: http://svn.apache.org/viewvc?rev=1081468&view=rev
Log:
Fix compile failure on Java5
Modified:
cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java
Modified:
cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java?rev=1081468&r1=1081467&r2=1081468&view=diff
==============================================================================
---
cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java
(original)
+++
cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/jmx/InstrumentationManagerImpl.java
Mon Mar 14 16:58:21 2011
@@ -36,6 +36,7 @@ import javax.management.JMException;
import javax.management.MBeanServer;
import javax.management.MBeanServerDelegate;
import javax.management.MBeanServerFactory;
+import javax.management.MalformedObjectNameException;
import javax.management.NotCompliantMBeanException;
import javax.management.ObjectInstance;
@@ -132,7 +133,7 @@ public class InstrumentationManagerImpl
if (servers == null || servers.size() == 0) {
mbs =
MBeanServerFactory.createMBeanServer(mbeanServerName);
try {
- mbeanServerID = (String)
mbs.getAttribute(MBeanServerDelegate.DELEGATE_NAME,
+ mbeanServerID = (String)
mbs.getAttribute(getDelegateName(),
"MBeanServerId");
mbeanServerIDMap.put(mbeanServerName,
mbeanServerID);
} catch (JMException e) {
@@ -170,6 +171,21 @@ public class InstrumentationManagerImpl
}
}
}
+
+ private ObjectName getDelegateName() throws JMException {
+ try {
+ return
(ObjectName)MBeanServerDelegate.class.getField("DELEGATE_NAME").get(null);
+ } catch (Throwable t) {
+ //ignore, likely on Java5
+ }
+ try {
+ return new ObjectName("JMImplementation:type=MBeanServerDelegate");
+ } catch (MalformedObjectNameException e) {
+ JMException jme = new JMException(e.getMessage());
+ jme.initCause(e);
+ throw jme;
+ }
+ }
public void register(Object obj, ObjectName name) throws JMException {
register(obj, name, false);