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=cd27d1df7944d43f6bbd8e44223513cc7f4d044f;hb=1ae90cd1a9a8000a66942e38a4d1c13d3630c4f8;hp=f5a0d3783ab011728ab0688db60b404a9c53719e;hpb=2d16e0bef47638ed57073a3d9f84023aa543b3c4;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..cd27d1df79 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,13 @@ package org.opendaylight.controller.config.yang.config.distributed_datastore_provider; +import org.opendaylight.controller.cluster.datastore.DatastoreContext; import org.opendaylight.controller.cluster.datastore.DistributedDataStoreFactory; -import org.opendaylight.controller.cluster.datastore.DistributedDataStoreProperties; +import org.osgi.framework.BundleContext; 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) { @@ -25,17 +28,52 @@ public class DistributedConfigDataStoreProviderModule extends } @Override - public java.lang.AutoCloseable createInstance() { + public boolean canReuseInstance(AbstractDistributedConfigDataStoreProviderModule oldModule) { + return true; + } + @Override + public java.lang.AutoCloseable createInstance() { ConfigProperties props = getConfigProperties(); if(props == null) { props = new ConfigProperties(); } - return DistributedDataStoreFactory.createInstance("config", getConfigSchemaServiceDependency(), - new DistributedDataStoreProperties(props.getMaxShardDataChangeExecutorPoolSize(), - props.getMaxShardDataChangeExecutorQueueSize(), - props.getMaxShardDataChangeListenerQueueSize(), - props.getShardTransactionIdleTimeoutInMinutes())); + DatastoreContext datastoreContext = DatastoreContext.newBuilder() + .dataStoreType("config") + .maxShardDataChangeExecutorPoolSize(props.getMaxShardDataChangeExecutorPoolSize().getValue().intValue()) + .maxShardDataChangeExecutorQueueSize(props.getMaxShardDataChangeExecutorQueueSize().getValue().intValue()) + .maxShardDataChangeListenerQueueSize(props.getMaxShardDataChangeListenerQueueSize().getValue().intValue()) + .maxShardDataStoreExecutorQueueSize(props.getMaxShardDataStoreExecutorQueueSize().getValue().intValue()) + .shardTransactionIdleTimeoutInMinutes(props.getShardTransactionIdleTimeoutInMinutes().getValue()) + .operationTimeoutInSeconds(props.getOperationTimeoutInSeconds().getValue()) + .shardJournalRecoveryLogBatchSize(props.getShardJournalRecoveryLogBatchSize(). + getValue().intValue()) + .shardSnapshotBatchCount(props.getShardSnapshotBatchCount().getValue().intValue()) + .shardSnapshotDataThresholdPercentage(props.getShardSnapshotDataThresholdPercentage().getValue().intValue()) + .shardHeartbeatIntervalInMillis(props.getShardHeartbeatIntervalInMillis().getValue()) + .shardInitializationTimeoutInSeconds(props.getShardInitializationTimeoutInSeconds().getValue()) + .shardLeaderElectionTimeoutInSeconds(props.getShardLeaderElectionTimeoutInSeconds().getValue()) + .shardTransactionCommitTimeoutInSeconds( + props.getShardTransactionCommitTimeoutInSeconds().getValue().intValue()) + .shardTransactionCommitQueueCapacity( + props.getShardTransactionCommitQueueCapacity().getValue().intValue()) + .persistent(props.getPersistent().booleanValue()) + .shardIsolatedLeaderCheckIntervalInMillis( + props.getShardIsolatedLeaderCheckIntervalInMillis().getValue()) + .shardElectionTimeoutFactor(props.getShardElectionTimeoutFactor().getValue()) + .transactionCreationInitialRateLimit(props.getTransactionCreationInitialRateLimit().getValue()) + .shardBatchedModificationCount(props.getShardBatchedModificationCount().getValue().intValue()) + .shardCommitQueueExpiryTimeoutInSeconds( + props.getShardCommitQueueExpiryTimeoutInSeconds().getValue().intValue()) + .transactionDebugContextEnabled(props.getTransactionDebugContextEnabled()) + .build(); + + return DistributedDataStoreFactory.createInstance(getConfigSchemaServiceDependency(), + datastoreContext, bundleContext); + } + + public void setBundleContext(BundleContext bundleContext) { + this.bundleContext = bundleContext; } }