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;
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);
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<L> listenerRegistrationProxy =
@Override
public void close() {
- datastoreConfigMXBean.unregisterMBean();
- datastoreInfoMXBean.unregisterMBean();
+ if (datastoreConfigMXBean != null) {
+ datastoreConfigMXBean.unregisterMBean();
+ }
+ if (datastoreInfoMXBean != null) {
+ datastoreInfoMXBean.unregisterMBean();
+ }
if (closeable != null) {
try {
txContextFactory.close();
actorContext.shutdown();
- DistributedDataStoreFactory.destroyInstance(this);
}
- @VisibleForTesting
- ActorContext getActorContext() {
+ public ActorContext getActorContext() {
return actorContext;
}