On 18/06/2021 4:35 pm, Alan Bateman wrote:
On 17/06/2021 22:44, David Holmes wrote:

I must admit I'm a bit confused about these implementation-specific MBeans. They are implementation-specific, so no part of the primary java.management namespace, but they are provided so that they can be used - so shutting them behind the modular doors (so to speak) really doesn't make much sense to me.
The JDK-specific MBeans are in the com.sun.management package, exported by the jdk.management module.  The sun.management.* classes have always been JDK-internal implementation classes and were never mean to be used directly by code outside of the JDK. Directly referencing these classes would have been a warning at compile prior with JDK 8 and older. It changed an error at compile time in JDK 9.

Ah! I now see:

   /**
     * This method is for testing only.
     */
public static synchronized HotspotRuntimeMBean getHotspotRuntimeMBean() {
        if (hsRuntimeMBean == null) {
            hsRuntimeMBean = new HotspotRuntime(jvm);
        }
        return hsRuntimeMBean;
    }

in sun.management.ManagementFactoryHelper. So it seems there is no actual _use_ of these platform-specific MBeans even within the JDK. So their existence seems somewhat pointless.

Cheers,
David


-Alan

Reply via email to