package com.intrbiz.bergamot.check.jmx; import java.util.ArrayList; import java.util.List; import javax.management.MBeanServerConnection; import javax.management.ObjectInstance; import javax.management.ObjectName; public class JMXConnection { private final MBeanServerConnection mBeanServer; public JMXConnection(MBeanServerConnection mBeanServer) { super(); this.mBeanServer = mBeanServer; } public MBeanServerConnection getMBeanServer() { return this.mBeanServer; } public List<JMXMBean> getMBeans() { try { List<JMXMBean> mbeans = new ArrayList<JMXMBean>(); for (ObjectInstance oi : this.mBeanServer.queryMBeans(null, null)) { mbeans.add(new JMXMBean(this, oi.getObjectName(), this.mBeanServer.getMBeanInfo(oi.getObjectName()))); } return mbeans; } catch (Exception e) { throw new JMXException("Failed to get mbeans", e); } } public JMXMBean getMBean(String objectName) { try { ObjectName name = ObjectName.getInstance(objectName); return new JMXMBean(this, name, this.mBeanServer.getMBeanInfo(name)); } catch (Exception e) { throw new JMXException("Failed to get mbean", e); } } }