switch from Dynamic to Standard MBean
This commit is contained in:
parent
7157234182
commit
074d20d7b6
|
@ -20,8 +20,6 @@ package org.hyperic.sigar.jmx;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import javax.management.AttributeNotFoundException;
|
|
||||||
import javax.management.MBeanInfo;
|
|
||||||
import javax.management.MBeanRegistration;
|
import javax.management.MBeanRegistration;
|
||||||
import javax.management.MBeanServer;
|
import javax.management.MBeanServer;
|
||||||
import javax.management.ObjectInstance;
|
import javax.management.ObjectInstance;
|
||||||
|
@ -58,34 +56,22 @@ import org.hyperic.sigar.SigarProxy;
|
||||||
* @author Bjoern Martin
|
* @author Bjoern Martin
|
||||||
* @since 1.5
|
* @since 1.5
|
||||||
*/
|
*/
|
||||||
public class SigarRegistry extends AbstractMBean implements MBeanRegistration {
|
public class SigarRegistry implements MBeanRegistration, SigarRegistryMBean {
|
||||||
|
public static final String MBEAN_DOMAIN = SigarInvokerJMX.DOMAIN_NAME;
|
||||||
|
public static final String MBEAN_ATTR_TYPE = SigarInvokerJMX.PROP_TYPE;
|
||||||
|
|
||||||
private static final String MBEAN_TYPE = "SigarRegistry";
|
private static final String MBEAN_TYPE = "SigarRegistry";
|
||||||
|
|
||||||
private static final MBeanInfo MBEAN_INFO;
|
private SigarProxy sigar;
|
||||||
|
|
||||||
static {
|
|
||||||
MBEAN_INFO = new MBeanInfo(
|
|
||||||
SigarRegistry.class.getName(),
|
|
||||||
"Sigar MBean registry. Provides a central point for creation "
|
|
||||||
+ "and destruction of Sigar MBeans. Any Sigar MBean created via "
|
|
||||||
+ "this instance will automatically be cleaned up when this "
|
|
||||||
+ "instance is deregistered from the MBean server.",
|
|
||||||
null /*new MBeanAttributeInfo[0] */,
|
|
||||||
null /*new MBeanConstructorInfo[0]*/,
|
|
||||||
null /*new MBeanOperationInfo[0] */,
|
|
||||||
null /*new MBeanNotificationInfo[0]*/);
|
|
||||||
}
|
|
||||||
|
|
||||||
private final String objectName;
|
private final String objectName;
|
||||||
|
|
||||||
private final ArrayList managedBeans;
|
private final ArrayList managedBeans;
|
||||||
private MBeanServer mbeanServer;
|
private MBeanServer mbeanServer;
|
||||||
|
|
||||||
public SigarRegistry(SigarProxy sigar) {
|
public SigarRegistry(SigarProxy sigar) {
|
||||||
super(sigar);
|
this.sigar = sigar;
|
||||||
this.objectName = MBEAN_DOMAIN + ":" + MBEAN_ATTR_TYPE
|
this.objectName =
|
||||||
+ "=" + MBEAN_TYPE;
|
MBEAN_DOMAIN + ":" + MBEAN_ATTR_TYPE + "=" + MBEAN_TYPE;
|
||||||
this.managedBeans = new ArrayList();
|
this.managedBeans = new ArrayList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,14 +79,6 @@ public class SigarRegistry extends AbstractMBean implements MBeanRegistration {
|
||||||
return this.objectName;
|
return this.objectName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getAttribute(String attr) throws AttributeNotFoundException {
|
|
||||||
throw new AttributeNotFoundException(attr);
|
|
||||||
}
|
|
||||||
|
|
||||||
public MBeanInfo getMBeanInfo() {
|
|
||||||
return MBEAN_INFO;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void registerMBean(AbstractMBean mbean) {
|
private void registerMBean(AbstractMBean mbean) {
|
||||||
try {
|
try {
|
||||||
ObjectName name =
|
ObjectName name =
|
||||||
|
@ -142,7 +120,7 @@ public class SigarRegistry extends AbstractMBean implements MBeanRegistration {
|
||||||
try {
|
try {
|
||||||
info = sigar.getCpuInfoList();
|
info = sigar.getCpuInfoList();
|
||||||
} catch (SigarException e) {
|
} catch (SigarException e) {
|
||||||
throw unexpectedError("CpuInfoList", e);
|
info = new CpuInfo[0]; //XXX log
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i<info.length; i++) {
|
for (int i=0; i<info.length; i++) {
|
||||||
|
@ -181,7 +159,7 @@ public class SigarRegistry extends AbstractMBean implements MBeanRegistration {
|
||||||
registerMBean(mbean);
|
registerMBean(mbean);
|
||||||
}
|
}
|
||||||
} catch (SigarException e) {
|
} catch (SigarException e) {
|
||||||
throw unexpectedError("FileSystemList", e);
|
//XXX log
|
||||||
}
|
}
|
||||||
|
|
||||||
//NetInterface beans
|
//NetInterface beans
|
||||||
|
@ -203,7 +181,7 @@ public class SigarRegistry extends AbstractMBean implements MBeanRegistration {
|
||||||
registerMBean(mbean);
|
registerMBean(mbean);
|
||||||
}
|
}
|
||||||
} catch (SigarException e) {
|
} catch (SigarException e) {
|
||||||
throw unexpectedError("NetInterfaceList", e);
|
//XXX log
|
||||||
}
|
}
|
||||||
|
|
||||||
//network info bean
|
//network info bean
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) [2004-2009], Hyperic, Inc.
|
||||||
|
* This file is part of SIGAR.
|
||||||
|
*
|
||||||
|
* SIGAR is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms version 2 of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation. This program is distributed
|
||||||
|
* in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
|
||||||
|
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||||
|
* details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
|
* USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.hyperic.sigar.jmx;
|
||||||
|
|
||||||
|
public interface SigarRegistryMBean {
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue