Merge "Exception for URI /restconf/operations/module_name:rpc ended with slash"
[controller.git] / opendaylight / config / config-manager / src / main / java / org / opendaylight / controller / config / manager / impl / jmx / BaseJMXRegistrator.java
index be64238aaff17bf2cfeef85ca145aa9d61f79a85..d09fc75d7374f4aef55d96a08ebb291322512d4b 100644 (file)
@@ -7,15 +7,14 @@
  */
 package org.opendaylight.controller.config.manager.impl.jmx;
 
-import java.util.Set;
+import org.opendaylight.controller.config.api.ModuleIdentifier;
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 import javax.management.QueryExp;
+import java.util.Set;
 
-import org.opendaylight.controller.config.api.ModuleIdentifier;
-
-public class BaseJMXRegistrator implements AutoCloseable {
+public class BaseJMXRegistrator implements AutoCloseable, NestableJMXRegistrator {
 
     private final InternalJMXRegistrator internalJMXRegistrator;
 
@@ -39,7 +38,7 @@ public class BaseJMXRegistrator implements AutoCloseable {
 
     public RootRuntimeBeanRegistratorImpl createRuntimeBeanRegistrator(
             ModuleIdentifier moduleIdentifier) {
-        return new RootRuntimeBeanRegistratorImpl(internalJMXRegistrator,
+        return new RootRuntimeBeanRegistratorImpl(internalJMXRegistrator.createChild(),
                 moduleIdentifier);
     }
 
@@ -51,6 +50,11 @@ public class BaseJMXRegistrator implements AutoCloseable {
         return internalJMXRegistrator.getRegisteredObjectNames();
     }
 
+    @Override
+    public InternalJMXRegistrator createChild() {
+        return internalJMXRegistrator.createChild();
+    }
+
     @Override
     public void close() {
         internalJMXRegistrator.close();