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%2Fdependencyresolver%2FDestroyedModule.java;h=d449e28dfe9b8a1268dfd40240932e7df6018b03;hb=cbcc2b61265e903959f11d44c292771e76b3926e;hp=05c10077c46f07e25b36a2811b836c1725a1493b;hpb=597ffbbfe362fcea479b7fdb52f685289b7ea5fd;p=controller.git diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DestroyedModule.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DestroyedModule.java index 05c10077c4..d449e28dfe 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DestroyedModule.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DestroyedModule.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.config.manager.impl.dependencyresolver; import org.opendaylight.controller.config.api.ModuleIdentifier; import org.opendaylight.controller.config.manager.impl.jmx.ModuleJMXRegistrator; +import org.opendaylight.controller.config.manager.impl.jmx.RootRuntimeBeanRegistratorImpl; import org.opendaylight.controller.config.manager.impl.osgi.BeanToOsgiServiceManager.OsgiRegistration; import org.opendaylight.yangtools.concepts.Identifiable; import org.slf4j.Logger; @@ -30,15 +31,18 @@ public class DestroyedModule implements AutoCloseable, private final ModuleJMXRegistrator oldJMXRegistrator; private final OsgiRegistration osgiRegistration; private final int orderingIdx; + private RootRuntimeBeanRegistratorImpl runtimeBeanRegistrator; - public DestroyedModule(ModuleIdentifier identifier, AutoCloseable instance, - ModuleJMXRegistrator oldJMXRegistrator, - OsgiRegistration osgiRegistration, int orderingIdx) { + public DestroyedModule(final ModuleIdentifier identifier, final AutoCloseable instance, + final ModuleJMXRegistrator oldJMXRegistrator, + final OsgiRegistration osgiRegistration, final int orderingIdx, + final RootRuntimeBeanRegistratorImpl runtimeBeanRegistrator) { this.identifier = identifier; this.instance = instance; this.oldJMXRegistrator = oldJMXRegistrator; this.osgiRegistration = osgiRegistration; this.orderingIdx = orderingIdx; + this.runtimeBeanRegistrator = runtimeBeanRegistrator; } @Override @@ -46,23 +50,30 @@ public class DestroyedModule implements AutoCloseable, LOG.trace("Destroying {}", identifier); try { instance.close(); - } catch (Exception e) { + } catch (final Exception e) { LOG.error("Error while closing instance of {}", identifier, e); } try { oldJMXRegistrator.close(); - } catch (Exception e) { + } catch (final Exception e) { LOG.error("Error while closing jmx registrator of {}", identifier, e); } + try { + if (runtimeBeanRegistrator != null) { + runtimeBeanRegistrator.close(); + } + } catch (final Exception e) { + LOG.error("Error while closing runtime bean jmx registrator of {}", identifier, e); + } try { osgiRegistration.close(); - } catch (Exception e) { + } catch (final Exception e) { LOG.error("Error while closing osgi registration of {}", identifier, e); } } @Override - public int compareTo(DestroyedModule o) { + public int compareTo(final DestroyedModule o) { return Integer.compare(orderingIdx, o.orderingIdx); }