javax.management.MBeanServerPermission#sun.management.ExtendedPlatformComponent源码实例Demo

下面列出了javax.management.MBeanServerPermission#sun.management.ExtendedPlatformComponent 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码4 项目: dragonwell8_jdk   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码5 项目: dragonwell8_jdk   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码6 项目: dragonwell8_jdk   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码7 项目: TencentKona-8   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码8 项目: TencentKona-8   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码9 项目: TencentKona-8   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码10 项目: jdk8u60   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码11 项目: jdk8u60   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码12 项目: jdk8u60   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码13 项目: JDKSourceCode1.8   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码14 项目: JDKSourceCode1.8   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码15 项目: JDKSourceCode1.8   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码16 项目: openjdk-jdk8u   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码17 项目: openjdk-jdk8u   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码18 项目: openjdk-jdk8u   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码19 项目: openjdk-jdk8u-backup   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码20 项目: openjdk-jdk8u-backup   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码21 项目: openjdk-jdk8u-backup   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码22 项目: jdk8u-jdk   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码23 项目: jdk8u-jdk   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码24 项目: jdk8u-jdk   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码25 项目: Java8CN   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码26 项目: Java8CN   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码27 项目: Java8CN   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}
 
源代码28 项目: hottub   文件: ManagementFactory.java
/**
 * Returns the platform MXBean implementing
 * the given {@code mxbeanInterface} which is specified
 * to have one single instance in the Java virtual machine.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine (for example,
 * a Java virtual machine with no compilation system does not
 * implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *    {@link #getPlatformMXBeans(Class)
 *      getPlatformMXBeans(mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean that implements
 * {@code mxbeanInterface}, or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 *
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(Class<T> mxbeanInterface) {
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            return mbean;
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");

    return pc.getSingletonMXBean(mxbeanInterface);
}
 
源代码29 项目: hottub   文件: ManagementFactory.java
/**
 * Returns the platform MXBean proxy for
 * {@code mxbeanInterface} which is specified to have one single
 * instance in a Java virtual machine and the proxy will
 * forward the method calls through the given {@code MBeanServerConnection}.
 * This method may return {@code null} if the management interface
 * is not implemented in the Java virtual machine being monitored
 * (for example, a Java virtual machine with no compilation system
 * does not implement {@link CompilationMXBean});
 * otherwise, this method is equivalent to calling:
 * <pre>
 *     {@link #getPlatformMXBeans(MBeanServerConnection, Class)
 *        getPlatformMXBeans(connection, mxbeanInterface)}.get(0);
 * </pre>
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *     MXBean with one single instance in the Java virtual machine
 *     being monitored, if implemented.
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the platform MXBean proxy for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection},
 * or {@code null} if not exist.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface or
 * not a singleton platform MXBean.
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        T getPlatformMXBean(MBeanServerConnection connection,
                            Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            return ManagementFactory.newPlatformMXBeanProxy(connection,
                                                            on.getCanonicalName(),
                                                            mxbeanInterface);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    if (!pc.isSingleton())
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " can have zero or more than one instances");
    return pc.getSingletonMXBean(connection, mxbeanInterface);
}
 
源代码30 项目: hottub   文件: ManagementFactory.java
/**
 * Returns the list of the platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 * The returned list may contain zero, one, or more instances.
 * The number of instances in the returned list is defined
 * in the specification of the given management interface.
 * The order is undefined and there is no guarantee that
 * the list returned is in the same order as previous invocations.
 *
 * @param connection the {@code MBeanServerConnection} to forward to.
 * @param mxbeanInterface a management interface for a platform
 *                        MXBean
 * @param <T> an {@code mxbeanInterface} type parameter
 *
 * @return the list of platform MXBean proxies for
 * forwarding the method calls of the {@code mxbeanInterface}
 * through the given {@code MBeanServerConnection}.
 *
 * @throws IllegalArgumentException if {@code mxbeanInterface}
 * is not a platform management interface.
 *
 * @throws java.io.IOException if a communication problem
 * occurred when accessing the {@code MBeanServerConnection}.
 *
 * @see #newPlatformMXBeanProxy
 * @since 1.7
 */
public static <T extends PlatformManagedObject>
        List<T> getPlatformMXBeans(MBeanServerConnection connection,
                                   Class<T> mxbeanInterface)
    throws java.io.IOException
{
    PlatformComponent pc = PlatformComponent.getPlatformComponent(mxbeanInterface);
    if (pc == null) {
        T mbean = ExtendedPlatformComponent.getMXBean(mxbeanInterface);
        if (mbean != null) {
            ObjectName on = mbean.getObjectName();
            T proxy = ManagementFactory.newPlatformMXBeanProxy(connection,
                        on.getCanonicalName(), mxbeanInterface);
            return Collections.singletonList(proxy);
        }
        throw new IllegalArgumentException(mxbeanInterface.getName() +
            " is not a platform management interface");
    }
    return Collections.unmodifiableList(pc.getMXBeans(connection, mxbeanInterface));
}