You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@zookeeper.apache.org by "TisonKun (JIRA)" <ji...@apache.org> on 2019/08/07 10:42:00 UTC
[jira] [Commented] (ZOOKEEPER-3497) org.apache.zookeeper.jmx.MBeanRegistry 单例 构造函数没有私有化
[ https://issues.apache.org/jira/browse/ZOOKEEPER-3497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16901965#comment-16901965 ]
TisonKun commented on ZOOKEEPER-3497:
-------------------------------------
Hi [~jwhao], thanks for your report! It is right that {{MBeanRegistry}} is a singleton with public constructor.
Historically I can see there is a method {{MBeanRegistry.setInstance}} but it is not in use now. Would you like to send a pr to make {{MBeanRegistry}} a more reliable singleton?
> org.apache.zookeeper.jmx.MBeanRegistry 单例 构造函数没有私有化
> ---------------------------------------------------
>
> Key: ZOOKEEPER-3497
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3497
> Project: ZooKeeper
> Issue Type: Improvement
> Components: jmx
> Affects Versions: 3.6.0
> Reporter: jwhao
> Priority: Minor
>
> org.apache.zookeeper.jmx.MBeanRegistry
> 此类使用单例模式实现,项目中其他模块也没有手动new此类,但是此类的构造函数没有私有化
> public MBeanRegistry () {
> try {
> mBeanServer = ManagementFactory.getPlatformMBeanServer();
> } catch (Error e) {
> // Account for running within IKVM and create a new MBeanServer
> // if the PlatformMBeanServer does not exist.
> mBeanServer = MBeanServerFactory.createMBeanServer();
> }
> }
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)