X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fdependencyresolver%2FDependencyResolverManager.java;h=2a1a908e7a18875c1baed6997fe9a6e5f6848519;hp=0c1531728fb1b58488fe6623047c0fd804528824;hb=fe87aace8123cc8988acfc74c0208472359a4f55;hpb=61bad4207cc91cd14d8d38a255ad6549c20ff54e diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManager.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManager.java index 0c1531728f..2a1a908e7a 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManager.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/dependencyresolver/DependencyResolverManager.java @@ -20,6 +20,7 @@ import java.util.List; import java.util.Map; import javax.annotation.concurrent.GuardedBy; import javax.management.InstanceAlreadyExistsException; +import javax.management.MBeanServer; import org.opendaylight.controller.config.api.DependencyResolver; import org.opendaylight.controller.config.api.DependencyResolverFactory; import org.opendaylight.controller.config.api.JmxAttribute; @@ -45,19 +46,25 @@ import org.osgi.framework.BundleContext; public class DependencyResolverManager implements DependencyResolverFactory, AutoCloseable { @GuardedBy("this") private final Map moduleIdentifiersToDependencyResolverMap = new HashMap<>(); + private final TransactionIdentifier transactionIdentifier; private final ModulesHolder modulesHolder; private final TransactionStatus transactionStatus; private final ServiceReferenceReadableRegistry readableRegistry; private final CodecRegistry codecRegistry; private final DeadlockMonitor deadlockMonitor; + private final MBeanServer mBeanServer; public DependencyResolverManager(TransactionIdentifier transactionIdentifier, - TransactionStatus transactionStatus, ServiceReferenceReadableRegistry readableRegistry, CodecRegistry codecRegistry) { + TransactionStatus transactionStatus, + ServiceReferenceReadableRegistry readableRegistry, CodecRegistry codecRegistry, + MBeanServer mBeanServer) { + this.transactionIdentifier = transactionIdentifier; this.modulesHolder = new ModulesHolder(transactionIdentifier); this.transactionStatus = transactionStatus; this.readableRegistry = readableRegistry; this.codecRegistry = codecRegistry; this.deadlockMonitor = new DeadlockMonitor(transactionIdentifier); + this.mBeanServer = mBeanServer; } @Override @@ -69,7 +76,8 @@ public class DependencyResolverManager implements DependencyResolverFactory, Aut DependencyResolverImpl dependencyResolver = moduleIdentifiersToDependencyResolverMap.get(name); if (dependencyResolver == null) { transactionStatus.checkNotCommitted(); - dependencyResolver = new DependencyResolverImpl(name, transactionStatus, modulesHolder, readableRegistry, codecRegistry); + dependencyResolver = new DependencyResolverImpl(name, transactionStatus, modulesHolder, readableRegistry, + codecRegistry, transactionIdentifier.getName(), mBeanServer); moduleIdentifiersToDependencyResolverMap.put(name, dependencyResolver); } return dependencyResolver;