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)