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=afca87f0df6458a041b8d2219e3e578066513481;hb=a3cecfd01d0ef8922530924e3ee9684eb03ee5d6;hpb=961b5b9260565194a863a25bd697f171ec2405af 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 afca87f0df..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 @@ -1,27 +1,27 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ package org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard; -import java.util.HashMap; -import java.util.Map; +import javax.annotation.Nonnull; +import org.opendaylight.controller.cluster.datastore.Shard; /** - * @author: syedbahm - * Date: 7/16/14 + * Factory for creating ShardStats mbeans. + * + * @author Basheeruddin syedbahm@cisco.com */ public class ShardMBeanFactory { - private static Map shardMBeans = - new HashMap(); - - public static ShardStats getShardStatsMBean(String shardName) { - if (shardMBeans.containsKey(shardName)) { - return shardMBeans.get(shardName); - } else { - ShardStats shardStatsMBeanImpl = new ShardStats(shardName); - if (shardStatsMBeanImpl.registerMBean()) { - shardMBeans.put(shardName, shardStatsMBeanImpl); - } - return shardStatsMBeanImpl; - } + 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; } - }