src/share/classes/java/lang/management/ManagementFactory.java

Print this page




 465         if (platformMBeanServer == null) {
 466             platformMBeanServer = MBeanServerFactory.createMBeanServer();
 467             for (PlatformComponent pc : PlatformComponent.values()) {
 468                 List<? extends PlatformManagedObject> list =
 469                     pc.getMXBeans(pc.getMXBeanInterface());
 470                 for (PlatformManagedObject o : list) {
 471                     // Each PlatformComponent represents one management
 472                     // interface. Some MXBean may extend another one.
 473                     // The MXBean instances for one platform component
 474                     // (returned by pc.getMXBeans()) might be also
 475                     // the MXBean instances for another platform component.
 476                     // e.g. com.sun.management.GarbageCollectorMXBean
 477                     //
 478                     // So need to check if an MXBean instance is registered
 479                     // before registering into the platform MBeanServer
 480                     if (!platformMBeanServer.isRegistered(o.getObjectName())) {
 481                         addMXBean(platformMBeanServer, o);
 482                     }
 483                 }
 484             }




 485         }


 486         return platformMBeanServer;
 487     }
 488 
 489     /**
 490      * Returns a proxy for a platform MXBean interface of a
 491      * given <a href="#MXBeanNames">MXBean name</a>
 492      * that forwards its method calls through the given
 493      * <tt>MBeanServerConnection</tt>.
 494      *
 495      * <p>This method is equivalent to:
 496      * <blockquote>
 497      * {@link java.lang.reflect.Proxy#newProxyInstance
 498      *        Proxy.newProxyInstance}<tt>(mxbeanInterface.getClassLoader(),
 499      *        new Class[] { mxbeanInterface }, handler)</tt>
 500      * </blockquote>
 501      *
 502      * where <tt>handler</tt> is an {@link java.lang.reflect.InvocationHandler
 503      * InvocationHandler} to which method invocations to the MXBean interface
 504      * are dispatched. This <tt>handler</tt> converts an input parameter
 505      * from an MXBean data type to its mapped open type before forwarding




 465         if (platformMBeanServer == null) {
 466             platformMBeanServer = MBeanServerFactory.createMBeanServer();
 467             for (PlatformComponent pc : PlatformComponent.values()) {
 468                 List<? extends PlatformManagedObject> list =
 469                     pc.getMXBeans(pc.getMXBeanInterface());
 470                 for (PlatformManagedObject o : list) {
 471                     // Each PlatformComponent represents one management
 472                     // interface. Some MXBean may extend another one.
 473                     // The MXBean instances for one platform component
 474                     // (returned by pc.getMXBeans()) might be also
 475                     // the MXBean instances for another platform component.
 476                     // e.g. com.sun.management.GarbageCollectorMXBean
 477                     //
 478                     // So need to check if an MXBean instance is registered
 479                     // before registering into the platform MBeanServer
 480                     if (!platformMBeanServer.isRegistered(o.getObjectName())) {
 481                         addMXBean(platformMBeanServer, o);
 482                     }
 483                 }
 484             }
 485             List<PlatformManagedObject> dynamicPMOList = ManagementFactoryHelper.getPlatformDynamicMBeans();
 486             for (PlatformManagedObject o : dynamicPMOList) {
 487                 if (!platformMBeanServer.isRegistered(o.getObjectName())) {
 488                     addMXBean(platformMBeanServer, o);
 489                 }
 490             }
 491         }
 492         return platformMBeanServer;
 493     }
 494 
 495     /**
 496      * Returns a proxy for a platform MXBean interface of a
 497      * given <a href="#MXBeanNames">MXBean name</a>
 498      * that forwards its method calls through the given
 499      * <tt>MBeanServerConnection</tt>.
 500      *
 501      * <p>This method is equivalent to:
 502      * <blockquote>
 503      * {@link java.lang.reflect.Proxy#newProxyInstance
 504      *        Proxy.newProxyInstance}<tt>(mxbeanInterface.getClassLoader(),
 505      *        new Class[] { mxbeanInterface }, handler)</tt>
 506      * </blockquote>
 507      *
 508      * where <tt>handler</tt> is an {@link java.lang.reflect.InvocationHandler
 509      * InvocationHandler} to which method invocations to the MXBean interface
 510      * are dispatched. This <tt>handler</tt> converts an input parameter
 511      * from an MXBean data type to its mapped open type before forwarding