[jboss-cvs] JBossAS SVN: r84848 - in projects/jboss-man/trunk/managed/src: test/java/org/jboss/test/managed/factory/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 26 23:48:53 EST 2009


Author: scott.stark at jboss.org
Date: 2009-02-26 23:48:53 -0500 (Thu, 26 Feb 2009)
New Revision: 84848

Modified:
   projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/jmx/ManagementFactoryUtils.java
   projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/test/PlatformMBeanUnitTestCase.java
Log:
JBMAN-53, platform mbean support


Modified: projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/jmx/ManagementFactoryUtils.java
===================================================================
--- projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/jmx/ManagementFactoryUtils.java	2009-02-27 04:46:30 UTC (rev 84847)
+++ projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/jmx/ManagementFactoryUtils.java	2009-02-27 04:48:53 UTC (rev 84848)
@@ -36,6 +36,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.management.openmbean.ArrayType;
 import javax.management.openmbean.CompositeData;
@@ -47,9 +48,6 @@
 
 import org.jboss.managed.api.ManagedObject;
 import org.jboss.managed.api.factory.ManagedObjectFactory;
-import org.jboss.managed.plugins.factory.AbstractInstanceClassFactory;
-import org.jboss.managed.plugins.factory.DefaultInstanceClassFactory;
-import org.jboss.managed.spi.factory.InstanceClassFactory;
 import org.jboss.metadata.plugins.loader.reflection.AnnotatedElementMetaDataLoader;
 import org.jboss.metadata.spi.MetaData;
 import org.jboss.metadata.spi.retrieval.MetaDataRetrievalToMetaDataBridge;
@@ -74,8 +72,32 @@
 public class ManagementFactoryUtils
 {
    /**
-    * 
-    * @param mof
+    * Return a Map of the platform mbean ManagedObjects. This does not include
+    * the MemoryManagerMXBeans, GarbageCollectorMXBeans or MemoryPoolMXBeans
+    * lists of ManagedObjects.
+    * @param mof - the ManagedObjectFactory to use
+    * @return Map of ManagedObjects for the platform mbeans keyed by the ManagedObject names
+    */
+   public static Map<String, ManagedObject> getPlatformMBeanMOs(ManagedObjectFactory mof)
+   {
+      HashMap<String, ManagedObject> mos = new HashMap<String, ManagedObject>();
+      ManagedObject classLoadingMO = getClassLoadingMO(mof);
+      mos.put(classLoadingMO.getName(), classLoadingMO);
+      ManagedObject memoryMXBean = getMemoryMXBean(mof);
+      mos.put(memoryMXBean.getName(), memoryMXBean);
+      ManagedObject operatingSystemMXBean = getOperatingSystemMXBean(mof);
+      mos.put(operatingSystemMXBean.getName(), operatingSystemMXBean);
+      ManagedObject threadMXBean = getThreadMXBean(mof);
+      mos.put(threadMXBean.getName(), threadMXBean);
+      ManagedObject runtimeMXBean = getRuntimeMXBean(mof);
+      mos.put(runtimeMXBean.getName(), runtimeMXBean);
+
+      return mos;
+   }
+
+   /**
+    * Build a ManagedObject for the ClassLoadingMXBean mean
+    * @param mof - the ManagedObjectFactory to use
     * @return
     */
    public static ManagedObject getClassLoadingMO(ManagedObjectFactory mof)
@@ -85,6 +107,11 @@
       return mo;
    }
 
+   /**
+    * Build a ManagedObject for the MemoryMXBean mean
+    * @param mof - the ManagedObjectFactory to use
+    * @return
+    */
    public static ManagedObject getMemoryMXBean(ManagedObjectFactory mof)
    {
       MemoryMXBean mbean = ManagementFactory.getMemoryMXBean();
@@ -92,13 +119,23 @@
       return mo;
    }
 
+   /**
+    * Build a ManagedObject for the OperatingSystemMXBean mean
+    * @param mof - the ManagedObjectFactory to use
+    * @return
+    */
    public static ManagedObject getOperatingSystemMXBean(ManagedObjectFactory mof)
    {
       OperatingSystemMXBean mbean = ManagementFactory.getOperatingSystemMXBean();
-      ManagedObject mo = getMO(mbean, MemoryMXBeanMO.class, mof);
+      ManagedObject mo = getMO(mbean, OperatingSystemMXBeanMO.class, mof);
       return mo;
    }
 
+   /**
+    * Build a ManagedObject for the ThreadMXBean mean
+    * @param mof - the ManagedObjectFactory to use
+    * @return
+    */
    public static ManagedObject getThreadMXBean(ManagedObjectFactory mof)
    {
       ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
@@ -106,6 +143,11 @@
       return mo;
    }
 
+   /**
+    * Build a ManagedObject for the RuntimeMXBean mean
+    * @param mof - the ManagedObjectFactory to use
+    * @return
+    */
    public static ManagedObject getRuntimeMXBean(ManagedObjectFactory mof)
    {
       RuntimeMXBean mbean = ManagementFactory.getRuntimeMXBean();
@@ -113,6 +155,11 @@
       return mo;
    }
 
+   /**
+    * Build a list of ManagedObject for the MemoryManagerMXBean means
+    * @param mof - the ManagedObjectFactory to use
+    * @return
+    */
    public static List<ManagedObject> getMemoryManagerMXBeans(ManagedObjectFactory mof)
    {
       List<MemoryManagerMXBean> mbeans = ManagementFactory.getMemoryManagerMXBeans();
@@ -125,6 +172,11 @@
       return mos;
    }
 
+   /**
+    * Build a list of ManagedObject for the GarbageCollectorMXBean means
+    * @param mof - the ManagedObjectFactory to use
+    * @return
+    */
    public static List<ManagedObject> getGarbageCollectorMXBeans(ManagedObjectFactory mof)
    {
       List<GarbageCollectorMXBean> mbeans = ManagementFactory.getGarbageCollectorMXBeans();
@@ -137,6 +189,11 @@
       return mos;
    }
 
+   /**
+    * Build a list of ManagedObject for the MemoryPoolMXBean means
+    * @param mof - the ManagedObjectFactory to use
+    * @return
+    */
    public static List<ManagedObject> getMemoryPoolMXBeans(ManagedObjectFactory mof)
    {
       List<MemoryPoolMXBean> mbeans = ManagementFactory.getMemoryPoolMXBeans();

Modified: projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/test/PlatformMBeanUnitTestCase.java
===================================================================
--- projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/test/PlatformMBeanUnitTestCase.java	2009-02-27 04:46:30 UTC (rev 84847)
+++ projects/jboss-man/trunk/managed/src/test/java/org/jboss/test/managed/factory/test/PlatformMBeanUnitTestCase.java	2009-02-27 04:48:53 UTC (rev 84848)
@@ -365,8 +365,19 @@
       ManagedObjectFactory mof = getMOF();
       ManagedObject mo = ManagementFactoryUtils.getOperatingSystemMXBean(mof);
       assertNotNull(mo);
-      assertEquals(ManagementFactory.MEMORY_MXBEAN_NAME, mo.getName());
+      assertEquals(ManagementFactory.OPERATING_SYSTEM_MXBEAN_NAME, mo.getName());
       validateComponentType(mo);
+
+      ManagedProperty arch = mo.getProperty("arch");
+      assertNotNull(arch);
+      ManagedProperty availableProcessors = mo.getProperty("availableProcessors");
+      assertNotNull(availableProcessors);
+      SimpleValue procsSV = (SimpleValue) availableProcessors.getValue();
+      Integer procs = (Integer) procsSV.getValue();
+      assertTrue(procs.intValue() >= 1);
+      ManagedProperty version = mo.getProperty("version");
+      assertNotNull(version);
+      log.debug(version.getValue());
    }
    public void testMemoryManagerMXBeans()
    {




More information about the jboss-cvs-commits mailing list