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=04a8e3098f979ded784abdb05495feaa0e0918b7;hb=1a4a451d17d39b0dac45a70de9016bd4b0e6b249;hpb=ffc46de334c8a903844b9f4aff73dc68b2401659 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 04a8e3098f..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 @@ -19,7 +19,6 @@ 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; @@ -126,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); @@ -140,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 = @@ -187,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 { @@ -200,7 +203,6 @@ public class DistributedDataStore implements DOMStore, SchemaContextListener, txContextFactory.close(); actorContext.shutdown(); - DistributedDataStoreFactory.destroyInstance(this); } public ActorContext getActorContext() {