Remove ShardMBeanFactory
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / ShardStats.java
index d150b3afe5c054476a6f83cf9534c684fd94ef0f..71cbf128a359c5cabbb739c7bfa80811546a79fc 100644 (file)
@@ -15,6 +15,7 @@ import java.util.Date;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicLong;
 import org.checkerframework.checker.lock.qual.GuardedBy;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard.ShardStatsMXBean;
 import org.opendaylight.controller.cluster.mgmt.api.FollowerInfo;
@@ -68,6 +69,13 @@ final class ShardStats extends AbstractMXBean implements ShardStatsMXBean {
         stateCache = new OnDemandShardStateCache(shardName, shard != null ? shard.self() : null);
     }
 
+    static ShardStats create(final String shardName, final String mxBeanType, final @NonNull Shard shard) {
+        String finalMXBeanType = mxBeanType != null ? mxBeanType : "DistDataStore";
+        ShardStats shardStatsMBeanImpl = new ShardStats(shardName, finalMXBeanType, shard);
+        shardStatsMBeanImpl.registerMBean();
+        return shardStatsMBeanImpl;
+    }
+
     @SuppressWarnings("checkstyle:IllegalCatch")
     private OnDemandRaftState getOnDemandRaftState() {
         try {