X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fosgi%2FConfigManagerActivator.java;h=ab81143170b91d3c4565049539b16bc410469abe;hb=refs%2Fchanges%2F64%2F3064%2F5;hp=f567f1b31e134be26e6b21124d9ba66ae9f1ce17;hpb=b9b370a758814321365e09ac44fc945bb468c5db;p=controller.git diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ConfigManagerActivator.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ConfigManagerActivator.java index f567f1b31e..ab81143170 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ConfigManagerActivator.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ConfigManagerActivator.java @@ -16,6 +16,7 @@ import org.opendaylight.controller.config.manager.impl.jmx.ConfigRegistryJMXRegi import org.opendaylight.controller.config.spi.ModuleFactory; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; import org.osgi.util.tracker.ServiceTracker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,6 +28,7 @@ public class ConfigManagerActivator implements BundleActivator { private ExtenderBundleTracker extenderBundleTracker; private ConfigRegistryImpl configRegistry; private ConfigRegistryJMXRegistrator configRegistryJMXRegistrator; + private ServiceRegistration configRegistryServiceRegistration; @Override public void start(BundleContext context) throws Exception { @@ -37,6 +39,9 @@ public class ConfigManagerActivator implements BundleActivator { bundleContextBackedModuleFactoriesResolver, context, configMBeanServer); + // register config registry to OSGi + configRegistryServiceRegistration = context.registerService(ConfigRegistryImpl.class, configRegistry, null); + // register config registry to jmx configRegistryJMXRegistrator = new ConfigRegistryJMXRegistrator(configMBeanServer); configRegistryJMXRegistrator.registerToJMX(configRegistry); @@ -69,5 +74,10 @@ public class ConfigManagerActivator implements BundleActivator { "Exception while closing config registry jmx registrator", e); } + try { + configRegistryServiceRegistration.unregister(); + } catch (Exception e) { + logger.warn("Exception while unregistering config registry", e); + } } }