2 * Copyright (c) 2015 Brocade Communications Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.cluster.datastore;
10 import java.util.concurrent.TimeUnit;
11 import org.opendaylight.controller.cluster.datastore.jmx.mbeans.DatastoreConfigurationMXBean;
12 import org.opendaylight.controller.md.sal.common.util.jmx.AbstractMXBean;
15 * Implementation of DatastoreConfigurationMXBean.
17 * @author Thomas Pantelis
19 final class DatastoreConfigurationMXBeanImpl extends AbstractMXBean implements DatastoreConfigurationMXBean {
20 public static final String JMX_CATEGORY_CONFIGURATION = "Configuration";
22 private DatastoreContext context;
24 DatastoreConfigurationMXBeanImpl(final String mxBeanType) {
25 super("Datastore", mxBeanType, JMX_CATEGORY_CONFIGURATION);
28 public void setContext(final DatastoreContext context) {
29 this.context = context;
33 public long getShardTransactionIdleTimeoutInSeconds() {
34 return context.getShardTransactionIdleTimeout().toSeconds();
38 public long getOperationTimeoutInSeconds() {
39 return TimeUnit.MILLISECONDS.toSeconds(context.getOperationTimeoutInMillis());
43 public long getShardHeartbeatIntervalInMillis() {
44 return context.getShardRaftConfig().getHeartBeatInterval().toMillis();
48 public int getShardJournalRecoveryLogBatchSize() {
49 return context.getShardRaftConfig().getJournalRecoveryLogBatchSize();
53 public long getShardIsolatedLeaderCheckIntervalInMillis() {
54 return context.getShardRaftConfig().getIsolatedCheckIntervalInMillis();
58 public long getShardElectionTimeoutFactor() {
59 return context.getShardRaftConfig().getElectionTimeoutFactor();
63 public int getShardSnapshotDataThresholdPercentage() {
64 return context.getShardRaftConfig().getSnapshotDataThresholdPercentage();
68 public int getShardSnapshotDataThreshold() {
69 return context.getShardRaftConfig().getSnapshotDataThreshold();
73 public long getShardSnapshotBatchCount() {
74 return context.getShardRaftConfig().getSnapshotBatchCount();
78 public long getShardTransactionCommitTimeoutInSeconds() {
79 return context.getShardTransactionCommitTimeoutInSeconds();
83 public long getShardCommitQueueExpiryTimeoutInSeconds() {
84 return TimeUnit.SECONDS.convert(context.getShardCommitQueueExpiryTimeoutInMillis(), TimeUnit.MILLISECONDS);
88 public int getShardTransactionCommitQueueCapacity() {
89 return context.getShardTransactionCommitQueueCapacity();
93 public long getShardInitializationTimeoutInSeconds() {
94 return context.getShardInitializationTimeout().duration().toSeconds();
98 public long getShardLeaderElectionTimeoutInSeconds() {
99 return context.getShardLeaderElectionTimeout().duration().toSeconds();
103 public boolean isPersistent() {
104 return context.isPersistent();
108 public long getTransactionCreationInitialRateLimit() {
109 return context.getTransactionCreationInitialRateLimit();
113 public boolean getTransactionContextDebugEnabled() {
114 return context.isTransactionDebugContextEnabled();
118 public int getMaximumMessageSliceSize() {
119 return context.getMaximumMessageSliceSize();