1 17 package org.apache.geronimo.system.jmx; 18 19 import java.util.ArrayList ; 20 import javax.management.MBeanServer ; 21 import javax.management.MBeanServerFactory ; 22 23 import org.apache.geronimo.gbean.GBeanInfo; 24 import org.apache.geronimo.gbean.GBeanInfoBuilder; 25 26 30 public class RealMBeanServerReference implements MBeanServerReference { 31 private MBeanServer mbeanServer; 32 33 public RealMBeanServerReference(String mbeanServerId) throws MBeanServerNotFound { 34 ArrayList servers = MBeanServerFactory.findMBeanServer(mbeanServerId); 35 if (servers.size() == 0) { 36 mbeanServer = MBeanServerFactory.createMBeanServer("geronimo"); 37 } else if (servers.size() > 1) { 38 throw new MBeanServerNotFound(servers.size() + " MBeanServers were found with the agent id " + mbeanServerId); 39 } else { 40 mbeanServer = (MBeanServer ) servers.get(0); 41 } 42 } 43 44 public MBeanServer getMBeanServer() { 45 return mbeanServer; 46 } 47 48 public static final GBeanInfo GBEAN_INFO; 49 50 static { 51 GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(RealMBeanServerReference.class); 52 infoFactory.addAttribute("mbeanServerId", String .class, true); 53 infoFactory.setConstructor(new String []{"mbeanServerId"}); 54 GBEAN_INFO = infoFactory.getBeanInfo(); 55 } 56 57 public static GBeanInfo getGBeanInfo() { 58 return GBEAN_INFO; 59 } 60 } 61 | Popular Tags |