为什么取消注册 - 重新注册MBean会对Jmx产生影响?

时间:2013-06-03 11:05:39

标签: java jmx mbeans

我想像这样注册MBean:

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    ObjectName name = null;
    try {
        name = ObjectNameProvider.getObjectName();
        mbs.registerMBean(ApplicationTracker.getInstance(), name);

当我启动应用程序时,注册失败并抛出了javax.management.InstanceAlreadyExistsException,并且我无法使用JMX功能。

然而,如果我取消注册 - 如下所示重新注册MBean,一切正常,没有任何例外。 为什么?

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
        ObjectName name = null;
        try {
            name = ObjectNameProvider.getObjectName();
            if(mbs.isRegistered(name)){
                mbs.unregisterMBean(name);
            }
            mbs.registerMBean(ApplicationTracker.getInstance(), name);

0 个答案:

没有答案