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%2Fcluster%2Fdatastore%2Fjmx%2Fmbeans%2Fshard%2FShardMBeanFactory.java;h=08632a8535e58f6185ce568b80a3683b3a3e773b;hp=4a7752aec1535454913894ef31de0f2ce427e647;hb=057b787289f7b909d7013c22ac73a1c91c860af8;hpb=6f1c4ed713d8645ba654c6da7bb9ccc201d95dae diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardMBeanFactory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardMBeanFactory.java index 4a7752aec1..08632a8535 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardMBeanFactory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardMBeanFactory.java @@ -7,39 +7,21 @@ */ package org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; +import org.opendaylight.controller.cluster.datastore.Shard; /** - * @author Basheeruddin syedbahm@cisco.com + * Factory for creating ShardStats mbeans. * + * @author Basheeruddin syedbahm@cisco.com */ public class ShardMBeanFactory { - private static final Logger LOG = LoggerFactory.getLogger(ShardMBeanFactory.class); - - private static final Cache shardMBeansCache = - CacheBuilder.newBuilder().weakValues().build(); - - public static ShardStats getShardStatsMBean(final String shardName, final String mxBeanType) { - final String finalMXBeanType = mxBeanType != null ? mxBeanType : "DistDataStore"; - try { - return shardMBeansCache.get(shardName, new Callable() { - @Override - public ShardStats call() throws Exception { - ShardStats shardStatsMBeanImpl = new ShardStats(shardName, finalMXBeanType); - shardStatsMBeanImpl.registerMBean(); - return shardStatsMBeanImpl; - } - }); - } catch(ExecutionException e) { - LOG.error(String.format("Could not create MXBean for shard: %s", shardName), e); - // Just return an instance that isn't registered. - return new ShardStats(shardName, finalMXBeanType); - } + public static ShardStats getShardStatsMBean(final String shardName, final String mxBeanType, + @Nonnull final Shard shard) { + String finalMXBeanType = mxBeanType != null ? mxBeanType : "DistDataStore"; + ShardStats shardStatsMBeanImpl = new ShardStats(shardName, finalMXBeanType, shard); + shardStatsMBeanImpl.registerMBean(); + return shardStatsMBeanImpl; } }