X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Futil%2FConfigRegistryJMXClient.java;h=a39111afee11168fe2250e84388e56d84f52b8be;hb=32b25203819eb02df22abfecdcc86896c068f778;hp=559993f2648ec013791bdcf7167e412fe9a69102;hpb=05861a85bc830af3fce638c301949da23c803ee4;p=controller.git diff --git a/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigRegistryJMXClient.java b/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigRegistryJMXClient.java index 559993f264..a39111afee 100644 --- a/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigRegistryJMXClient.java +++ b/opendaylight/config/config-util/src/main/java/org/opendaylight/controller/config/util/ConfigRegistryJMXClient.java @@ -7,12 +7,10 @@ */ package org.opendaylight.controller.config.util; -import org.opendaylight.controller.config.api.ConflictingVersionException; -import org.opendaylight.controller.config.api.ValidationException; -import org.opendaylight.controller.config.api.jmx.CommitStatus; -import org.opendaylight.controller.config.api.jmx.ConfigRegistryMXBean; -import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; - +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Set; import javax.management.AttributeNotFoundException; import javax.management.InstanceNotFoundException; import javax.management.JMException; @@ -22,10 +20,11 @@ import javax.management.MBeanServer; import javax.management.ObjectInstance; import javax.management.ObjectName; import javax.management.ReflectionException; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Set; +import org.opendaylight.controller.config.api.ConflictingVersionException; +import org.opendaylight.controller.config.api.ValidationException; +import org.opendaylight.controller.config.api.jmx.CommitStatus; +import org.opendaylight.controller.config.api.jmx.ConfigRegistryMXBean; +import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; import org.opendaylight.controller.config.api.jmx.ServiceReferenceMXBean; public class ConfigRegistryJMXClient implements ConfigRegistryClient { @@ -74,16 +73,17 @@ public class ConfigRegistryJMXClient implements ConfigRegistryClient { */ @Deprecated public T newMBeanProxy(ObjectName on, Class clazz) { - on = translateServiceRefIfPossible(on, clazz, configMBeanServer); - return JMX.newMBeanProxy(configMBeanServer, on, clazz); + ObjectName onObj = translateServiceRefIfPossible(on, clazz, configMBeanServer); + return JMX.newMBeanProxy(configMBeanServer, onObj, clazz); } static ObjectName translateServiceRefIfPossible(ObjectName on, Class clazz, MBeanServer configMBeanServer) { - if (ObjectNameUtil.isServiceReference(on) && clazz.equals(ServiceReferenceMXBean.class) == false) { - ServiceReferenceMXBean proxy = JMX.newMXBeanProxy(configMBeanServer, on, ServiceReferenceMXBean.class); - on = proxy.getCurrentImplementation(); + ObjectName onObj = on; + if (ObjectNameUtil.isServiceReference(onObj) && clazz.equals(ServiceReferenceMXBean.class) == false) { + ServiceReferenceMXBean proxy = JMX.newMXBeanProxy(configMBeanServer, onObj, ServiceReferenceMXBean.class); + onObj = proxy.getCurrentImplementation(); } - return on; + return onObj; } @@ -211,7 +211,7 @@ public class ConfigRegistryJMXClient implements ConfigRegistryClient { } catch (AttributeNotFoundException | InstanceNotFoundException | MBeanException | ReflectionException e) { throw new RuntimeException("Unable to get attribute " - + attributeName + " for " + on, e); + + attributeName + " for " + on + ". Available beans: " + lookupConfigBeans(), e); } }