001 package biz.hammurapi.metrics.jmx; 002 003 import java.lang.reflect.Method; 004 005 import javax.management.MBeanServer; 006 007 public class JmxPlatformMeasurementCategoryFactory extends JmxMeasurementCategoryFactory { 008 009 private static MBeanServer MBEAN_SERVER; 010 011 // We use reflection to keep hgee.jar compatible with Java 1.4 012 static { 013 try { 014 Class serverClass = Class.forName("java.lang.management.ManagementFactory"); 015 Method method = serverClass.getMethod("getPlatformMBeanServer", null); 016 MBEAN_SERVER = (MBeanServer) method.invoke(null, null); 017 } catch (Exception e) { 018 System.err.println("[JmxMeasurementCategoryFactory] ERROR: "+e); 019 } 020 } 021 022 /** 023 * This implementation tries to use Java 5 management features. 024 * Returns null if JVM is not of version 5. 025 * @return MBean server to register MBeans with 026 */ 027 protected MBeanServer getMBeanServer() { 028 return MBEAN_SERVER; 029 } 030 031 }