X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDistributedDataStore.java;h=49f5388842d9b690609f063842fc60ce425ec78f;hp=96f5ce816b722c8f28f6bc587663b84a9cf1f7a5;hb=1a4a451d17d39b0dac45a70de9016bd4b0e6b249;hpb=0b9b1dcba996fd76e0e1bde731692570747f5efd diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DistributedDataStore.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DistributedDataStore.java index 96f5ce816b..49f5388842 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DistributedDataStore.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DistributedDataStore.java @@ -15,10 +15,10 @@ import com.google.common.base.Preconditions; import com.google.common.util.concurrent.Uninterruptibles; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import org.opendaylight.controller.cluster.datastore.config.Configuration; import org.opendaylight.controller.cluster.datastore.identifiers.ShardManagerIdentifier; import org.opendaylight.controller.cluster.datastore.jmx.mbeans.DatastoreConfigurationMXBeanImpl; import org.opendaylight.controller.cluster.datastore.jmx.mbeans.DatastoreInfoMXBeanImpl; -import org.opendaylight.controller.cluster.datastore.shardstrategy.ShardStrategyFactory; import org.opendaylight.controller.cluster.datastore.utils.ActorContext; import org.opendaylight.controller.cluster.datastore.utils.Dispatchers; import org.opendaylight.controller.cluster.datastore.utils.PrimaryShardInfoFutureCache; @@ -125,7 +125,7 @@ public class DistributedDataStore implements DOMStore, SchemaContextListener, LOG.debug("Registering listener: {} for path: {} scope: {}", listener, path, scope); - String shardName = ShardStrategyFactory.getStrategy(path).findShard(path); + String shardName = actorContext.getShardStrategyFactory().getStrategy(path).findShard(path); final DataChangeListenerRegistrationProxy listenerRegistrationProxy = new DataChangeListenerRegistrationProxy(shardName, actorContext, listener); @@ -139,7 +139,7 @@ public class DistributedDataStore implements DOMStore, SchemaContextListener, Preconditions.checkNotNull(treeId, "treeId should not be null"); Preconditions.checkNotNull(listener, "listener should not be null"); - final String shardName = ShardStrategyFactory.getStrategy(treeId).findShard(treeId); + final String shardName = actorContext.getShardStrategyFactory().getStrategy(treeId).findShard(treeId); LOG.debug("Registering tree listener: {} for tree: {} shard: {}", listener, treeId, shardName); final DataTreeChangeListenerProxy listenerRegistrationProxy = @@ -186,8 +186,12 @@ public class DistributedDataStore implements DOMStore, SchemaContextListener, @Override public void close() { - datastoreConfigMXBean.unregisterMBean(); - datastoreInfoMXBean.unregisterMBean(); + if (datastoreConfigMXBean != null) { + datastoreConfigMXBean.unregisterMBean(); + } + if (datastoreInfoMXBean != null) { + datastoreInfoMXBean.unregisterMBean(); + } if (closeable != null) { try { @@ -199,7 +203,6 @@ public class DistributedDataStore implements DOMStore, SchemaContextListener, txContextFactory.close(); actorContext.shutdown(); - DistributedDataStoreFactory.destroyInstance(this); } public ActorContext getActorContext() {