X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fconfig%2Fdistributed_datastore_provider%2FDistributedConfigDataStoreProviderModule.java;h=84614bd7bb43a0bbf43f3fe055673f64fe2cd10d;hb=32633beca367fea1db194d310e286b14acc0e6a6;hp=f5a0d3783ab011728ab0688db60b404a9c53719e;hpb=9cd4e7995210f8381892004373acc71c8b3ae7af;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedConfigDataStoreProviderModule.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedConfigDataStoreProviderModule.java index f5a0d3783a..84614bd7bb 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedConfigDataStoreProviderModule.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedConfigDataStoreProviderModule.java @@ -1,10 +1,18 @@ package org.opendaylight.controller.config.yang.config.distributed_datastore_provider; +import java.util.concurrent.TimeUnit; + +import org.opendaylight.controller.cluster.datastore.DatastoreContext; import org.opendaylight.controller.cluster.datastore.DistributedDataStoreFactory; -import org.opendaylight.controller.cluster.datastore.DistributedDataStoreProperties; +import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStoreConfigProperties; +import org.osgi.framework.BundleContext; + +import scala.concurrent.duration.Duration; public class DistributedConfigDataStoreProviderModule extends org.opendaylight.controller.config.yang.config.distributed_datastore_provider.AbstractDistributedConfigDataStoreProviderModule { + private BundleContext bundleContext; + public DistributedConfigDataStoreProviderModule( org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { @@ -32,10 +40,24 @@ public class DistributedConfigDataStoreProviderModule extends props = new ConfigProperties(); } + DatastoreContext datastoreContext = new DatastoreContext("DistributedConfigDatastore", + InMemoryDOMDataStoreConfigProperties.create( + props.getMaxShardDataChangeExecutorPoolSize().getValue().intValue(), + props.getMaxShardDataChangeExecutorQueueSize().getValue().intValue(), + props.getMaxShardDataChangeListenerQueueSize().getValue().intValue(), + props.getMaxShardDataStoreExecutorQueueSize().getValue().intValue()), + Duration.create(props.getShardTransactionIdleTimeoutInMinutes().getValue(), + TimeUnit.MINUTES), + props.getOperationTimeoutInSeconds().getValue(), + props.getShardJournalRecoveryLogBatchSize().getValue().intValue(), + props.getShardSnapshotBatchCount().getValue().intValue(), + props.getShardHearbeatIntervalInMillis().getValue()); + return DistributedDataStoreFactory.createInstance("config", getConfigSchemaServiceDependency(), - new DistributedDataStoreProperties(props.getMaxShardDataChangeExecutorPoolSize(), - props.getMaxShardDataChangeExecutorQueueSize(), - props.getMaxShardDataChangeListenerQueueSize(), - props.getShardTransactionIdleTimeoutInMinutes())); + datastoreContext, bundleContext); + } + + public void setBundleContext(BundleContext bundleContext) { + this.bundleContext = bundleContext; } }