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%2Fconfig%2Fyang%2Fconfig%2Fdistributed_datastore_provider%2FDistributedOperationalDataStoreProviderModule.java;h=a88d09457ae938c78d87b80c5370574e311eeac4;hp=e4f30ac723d009f0a23bbf5799bf4ecb2be66a24;hb=4e0489db3a8991c00b55aa44af0cf65f15aea8cc;hpb=9633738d24be9aca692aec6a1a34c1a1efe0f175 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedOperationalDataStoreProviderModule.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedOperationalDataStoreProviderModule.java index e4f30ac723..a88d09457a 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedOperationalDataStoreProviderModule.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedOperationalDataStoreProviderModule.java @@ -1,15 +1,21 @@ package org.opendaylight.controller.config.yang.config.distributed_datastore_provider; -import akka.actor.ActorSystem; -import com.typesafe.config.ConfigFactory; -import org.opendaylight.controller.cluster.datastore.DistributedDataStore; - -public class DistributedOperationalDataStoreProviderModule extends org.opendaylight.controller.config.yang.config.distributed_datastore_provider.AbstractDistributedOperationalDataStoreProviderModule { - public DistributedOperationalDataStoreProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { +import org.opendaylight.controller.cluster.datastore.DistributedDataStoreFactory; +import org.opendaylight.controller.cluster.datastore.DistributedDataStoreProperties; + +public class DistributedOperationalDataStoreProviderModule extends + org.opendaylight.controller.config.yang.config.distributed_datastore_provider.AbstractDistributedOperationalDataStoreProviderModule { + public DistributedOperationalDataStoreProviderModule( + org.opendaylight.controller.config.api.ModuleIdentifier identifier, + org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { super(identifier, dependencyResolver); } - public DistributedOperationalDataStoreProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.distributed_datastore_provider.DistributedOperationalDataStoreProviderModule oldModule, java.lang.AutoCloseable oldInstance) { + public DistributedOperationalDataStoreProviderModule( + org.opendaylight.controller.config.api.ModuleIdentifier identifier, + org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, + org.opendaylight.controller.config.yang.config.distributed_datastore_provider.DistributedOperationalDataStoreProviderModule oldModule, + java.lang.AutoCloseable oldInstance) { super(identifier, dependencyResolver, oldModule, oldInstance); } @@ -18,22 +24,22 @@ public class DistributedOperationalDataStoreProviderModule extends org.opendayli // add custom validation form module attributes here. } - @Override - public java.lang.AutoCloseable createInstance() { - final ActorSystem actorSystem = ActorSystem.create("opendaylight-cluster", ConfigFactory - .load().getConfig("ODLCluster")); - final DistributedDataStore operationalStore = new DistributedDataStore(actorSystem, "operational"); - getSchemaServiceDependency().registerSchemaServiceListener(operationalStore); - - final class AutoCloseableDistributedDataStore implements AutoCloseable { - - @Override - public void close() throws Exception { - actorSystem.shutdown(); - } + @Override + public java.lang.AutoCloseable createInstance() { + + OperationalProperties props = getOperationalProperties(); + if(props == null) { + props = new OperationalProperties(); + } + + return DistributedDataStoreFactory.createInstance("operational", + getOperationalSchemaServiceDependency(), + new DistributedDataStoreProperties( + props.getMaxShardDataChangeExecutorPoolSize().getValue(), + props.getMaxShardDataChangeExecutorQueueSize().getValue(), + props.getMaxShardDataChangeListenerQueueSize().getValue(), + props.getShardTransactionIdleTimeoutInMinutes().getValue(), + props.getOperationTimeoutInSeconds().getValue())); } - return new AutoCloseableDistributedDataStore(); - } - }