diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarMem.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarMem.java deleted file mode 100644 index d9634575..00000000 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarMem.java +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], 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; - -import javax.management.AttributeNotFoundException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanException; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; - -/** - * Sigar JMX MBean implementation for the Mem information - * package. Provides an OpenMBean conform implementation. - * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarMem extends AbstractMBean { - - private static final String MBEAN_TYPE = "Mem"; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanAttributeInfo MBEAN_ATTR_ACTUAL_FREE; - - private static final MBeanAttributeInfo MBEAN_ATTR_ACTUAL_USED; - - private static final MBeanAttributeInfo MBEAN_ATTR_FREE; - - private static final MBeanAttributeInfo MBEAN_ATTR_RAM; - - private static final MBeanAttributeInfo MBEAN_ATTR_TOTAL; - - private static final MBeanAttributeInfo MBEAN_ATTR_USED; - - private static final MBeanConstructorInfo MBEAN_CONSTR_SIGAR; - - private static MBeanParameterInfo MBEAN_PARAM_SIGAR; - - static { - MBEAN_ATTR_ACTUAL_FREE = new MBeanAttributeInfo("ActualFree", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_ACTUAL_USED = new MBeanAttributeInfo("ActualUsed", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_FREE = new MBeanAttributeInfo("Free", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_RAM = new MBeanAttributeInfo("Ram", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_TOTAL = new MBeanAttributeInfo("Total", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_USED = new MBeanAttributeInfo("Used", "long", - "TODO add proper description here", true, false, false); - MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class - .getName(), "The Sigar instance to use to fetch data from"); - MBEAN_CONSTR_SIGAR = new MBeanConstructorInfo(SigarMem.class.getName(), - "Creates a new instance, using the Sigar instance " - + "specified to fetch the data.", - new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR }); - MBEAN_INFO = new MBeanInfo( - SigarMem.class.getName(), - "Sigar Memory MBean, provides raw data for the physical " - + "memory installed on the system. Uses an internal cache " - + "that invalidates within 500ms, allowing for bulk request " - + "being satisfied with a single dataset fetch.", - new MBeanAttributeInfo[] { MBEAN_ATTR_ACTUAL_FREE, - MBEAN_ATTR_ACTUAL_USED, MBEAN_ATTR_FREE, - MBEAN_ATTR_RAM, MBEAN_ATTR_TOTAL, MBEAN_ATTR_USED }, - new MBeanConstructorInfo[] { MBEAN_CONSTR_SIGAR }, null, null); - - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - private final String objectName; - - /** - * Creates a new instance, using the Sigar instance specified to fetch the - * data. - * - * @param sigar - * The Sigar instance to use to fetch data from - * - * @throws IllegalArgumentException - * If an unexpected Sigar error occurs - */ - public SigarMem(Sigar sigar) throws IllegalArgumentException { - super(sigar, CACHED_500MS); - - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=Memory"; - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - public String getObjectName() { - return this.objectName; - } - - /** - * @return The actual amount of free physical memory, in [bytes] - */ - public long getActualFree() { - try { - return sigar.getMem().getActualFree(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The actual amount of physical memory used, in [bytes] - */ - public long getActualUsed() { - try { - return sigar.getMem().getActualUsed(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The amount of free physical memory, in [bytes] - */ - public long getFree() { - try { - return sigar.getMem().getFree(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The amount of physical memory, in [bytes] - */ - public long getRam() { - try { - return sigar.getMem().getRam(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The total amount of physical memory, in [bytes] - */ - public long getTotal() { - try { - return sigar.getMem().getTotal(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The amount of physical memory in use, in [bytes] - */ - public long getUsed() { - try { - return sigar.getMem().getUsed(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - // ------- - // Implementation of the DynamicMBean interface - // ------- - - /* - * (non-Javadoc) - * - * @see javax.management.DynamicMBean#getAttribute(java.lang.String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException, - MBeanException, ReflectionException { - if (MBEAN_ATTR_ACTUAL_FREE.getName().equals(attr)) { - return new Long(getActualFree()); - - } else if (MBEAN_ATTR_ACTUAL_USED.getName().equals(attr)) { - return new Long(getActualUsed()); - - } else if (MBEAN_ATTR_FREE.getName().equals(attr)) { - return new Long(getFree()); - - } else if (MBEAN_ATTR_RAM.getName().equals(attr)) { - return new Long(getRam()); - - } else if (MBEAN_ATTR_TOTAL.getName().equals(attr)) { - return new Long(getTotal()); - - } else if (MBEAN_ATTR_USED.getName().equals(attr)) { - return new Long(getUsed()); - - } else { - throw new AttributeNotFoundException(attr); - } - } - - /* - * (non-Javadoc) - * @see javax.management.DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } -} diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java index 0a20b332..5dda7861 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java @@ -231,9 +231,9 @@ public class SigarRegistry extends AbstractMBean { } //physical memory bean - registerMBean(new SigarMem(sigarImpl)); + registerMBean(new ReflectedMBean(sigarImpl, "Mem")); //swap memory bean - registerMBean(new SigarSwap(sigarImpl)); + registerMBean(new ReflectedMBean(sigarImpl, "Swap")); //load average bean registerMBean(new SigarLoadAverage(sigarImpl)); } diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarSwap.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarSwap.java deleted file mode 100644 index 75fea1c9..00000000 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarSwap.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], 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; - -import javax.management.AttributeNotFoundException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanException; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; - -/** - * Sigar JMX MBean implementation for the Swap information - * package. Provides an OpenMBean conform implementation. - * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarSwap extends AbstractMBean { - - private static final String MBEAN_TYPE = "Swap"; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanAttributeInfo MBEAN_ATTR_FREE; - - private static final MBeanAttributeInfo MBEAN_ATTR_TOTAL; - - private static final MBeanAttributeInfo MBEAN_ATTR_USED; - - private static final MBeanConstructorInfo MBEAN_CONSTR_SIGAR; - - private static MBeanParameterInfo MBEAN_PARAM_SIGAR; - - static { - MBEAN_ATTR_FREE = new MBeanAttributeInfo("Free", "long", - "The amount of free swap memory, in [bytes]", true, false, - false); - MBEAN_ATTR_TOTAL = new MBeanAttributeInfo("Total", "long", - "The total amount of swap memory, in [bytes]", true, false, - false); - MBEAN_ATTR_USED = new MBeanAttributeInfo("Used", "long", - "The amount of swap memory in use, in [bytes]", true, false, - false); - MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class - .getName(), "The Sigar instance to use to fetch data from"); - MBEAN_CONSTR_SIGAR = new MBeanConstructorInfo( - SigarSwap.class.getName(), - "Creates a new instance, using the Sigar instance " - + "specified to fetch the data.", - new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR }); - MBEAN_INFO = new MBeanInfo( - SigarSwap.class.getName(), - "Sigar Swap MBean, provides raw data for the swap memory " - + "configured on the system. Uses an internal cache that " - + "invalidates within 5 seconds.", - new MBeanAttributeInfo[] { MBEAN_ATTR_FREE, MBEAN_ATTR_TOTAL, - MBEAN_ATTR_USED }, - new MBeanConstructorInfo[] { MBEAN_CONSTR_SIGAR }, null, null); - - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - private final String objectName; - - /** - * Creates a new instance, using the Sigar instance specified to fetch the - * data. - * - * @param sigar - * The Sigar instance to use to fetch data from - * - * @throws IllegalArgumentException - * If an unexpected Sigar error occurs - */ - public SigarSwap(Sigar sigar) throws IllegalArgumentException { - super(sigar, CACHED_5SEC); - - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=Swap"; - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - public String getObjectName() { - return this.objectName; - } - - /** - * @return The amount of free swap memory, in [bytes] - */ - public long getFree() { - try { - return sigar.getSwap().getFree(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The total amount of swap memory, in [bytes] - */ - public long getTotal() { - try { - return sigar.getSwap().getTotal(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The amount of swap memory in use, in [bytes] - */ - public long getUsed() { - try { - return sigar.getSwap().getUsed(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - // ------- - // Implementation of the DynamicMBean interface - // ------- - - /* - * (non-Javadoc) - * - * @see javax.management.DynamicMBean#getAttribute(java.lang.String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException, - MBeanException, ReflectionException { - if (MBEAN_ATTR_FREE.getName().equals(attr)) { - return new Long(getFree()); - - } else if (MBEAN_ATTR_TOTAL.getName().equals(attr)) { - return new Long(getTotal()); - - } else if (MBEAN_ATTR_USED.getName().equals(attr)) { - return new Long(getUsed()); - - } else { - throw new AttributeNotFoundException(attr); - } - } - - /* - * (non-Javadoc) - * @see javax.management.DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } -}