ManagementFactory.java 文件源码

java
阅读 27 收藏 0 点赞 0 评论 0

项目:VarJ 作者:
/**
 * Returns the platform {@link javax.management.MBeanServer MBeanServer}.
 * On the first call to this method, it first creates the platform 
 * <tt>MBeanServer</tt> by calling the 
 * {@link javax.management.MBeanServerFactory#createMBeanServer
 * MBeanServerFactory.createMBeanServer} 
 * method and registers the platform MXBeans in this platform
 * <tt>MBeanServer</tt> using the <a href="#MXBeanNames">MXBean names</a>
 * defined in the class description.
 * This method, in subsequent calls, will simply return the 
 * initially created platform <tt>MBeanServer</tt>.
 * <p>
 * MXBeans that get created and destroyed dynamically, for example, 
 * memory {@link MemoryPoolMXBean pools} and 
 * {@link MemoryManagerMXBean managers},
 * will automatically be registered and deregistered into the platform
 * <tt>MBeanServer</tt>.
 * <p>
 * If the system property <tt>javax.management.builder.initial</tt>
 * is set, the platform <tt>MBeanServer</tt> creation will be done
 * by the specified {@link javax.management.MBeanServerBuilder}.
 * <p>
 * It is recommended that this platform MBeanServer also be used
 * to register other application managed beans 
 * besides the platform MXBeans. 
 * This will allow all MBeans to be published through the same 
 * <tt>MBeanServer</tt> and hence allow for easier network publishing
 * and discovery.
 * Name conflicts with the platform MXBeans should be avoided.
 *
 * @return the platform <tt>MBeanServer</tt>; the platform
 *         MXBeans are registered into the platform <tt>MBeanServer</tt>
 *         at the first time this method is called.
 *
 * @exception SecurityException if there is a security manager 
 * and the caller does not have the permission required by 
 * {@link javax.management.MBeanServerFactory#createMBeanServer}.
 * 
 * @see javax.management.MBeanServerFactory
 * @see javax.management.MBeanServerFactory#createMBeanServer
 */
public static synchronized MBeanServer getPlatformMBeanServer() {
    SecurityManager sm = System.getSecurityManager();
    if (sm != null) {
        Permission perm = new MBeanServerPermission("createMBeanServer");
        sm.checkPermission(perm);
    }

    if (platformMBeanServer == null) {
        platformMBeanServer = 
            sun.management.ManagementFactory.createPlatformMBeanServer();
    }
    return platformMBeanServer;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号