Decouple config and netconf subsystems.
[controller.git] / opendaylight / config / config-util / src / main / java / org / opendaylight / controller / config / util / ConfigRegistryJMXClient.java
index a39111afee11168fe2250e84388e56d84f52b8be..74dd2efed83468d3f9b7dd48b30ca601208a65b3 100644 (file)
@@ -26,6 +26,7 @@ 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;
+import org.opendaylight.controller.config.api.jmx.constants.ConfigRegistryConstants;
 
 public class ConfigRegistryJMXClient implements ConfigRegistryClient {
     private final ConfigRegistryMXBean configRegistryMXBeanProxy;
@@ -33,10 +34,13 @@ public class ConfigRegistryJMXClient implements ConfigRegistryClient {
     private final MBeanServer configMBeanServer;
 
     public ConfigRegistryJMXClient(MBeanServer configMBeanServer) {
+        this(configMBeanServer, OBJECT_NAME);
+    }
+
+    private ConfigRegistryJMXClient(MBeanServer configMBeanServer, ObjectName configRegistryON) {
         this.configMBeanServer = configMBeanServer;
-        configRegistryON = OBJECT_NAME;
-        Set<ObjectInstance> searchResult = configMBeanServer.queryMBeans(
-                configRegistryON, null);
+        this.configRegistryON = configRegistryON;
+        Set<ObjectInstance> searchResult = configMBeanServer.queryMBeans(configRegistryON, null);
         if (!(searchResult.size() == 1)) {
             throw new IllegalStateException("Config registry not found");
         }
@@ -44,6 +48,10 @@ public class ConfigRegistryJMXClient implements ConfigRegistryClient {
                 false);
     }
 
+    public static ConfigRegistryJMXClient createWithoutNotifications(MBeanServer configMBeanServer) {
+        return new ConfigRegistryJMXClient(configMBeanServer, ConfigRegistryConstants.OBJECT_NAME_NO_NOTIFICATIONS);
+    }
+
     @Override
     public ConfigTransactionJMXClient createTransaction() {
         ObjectName configTransactionControllerON = beginConfig();