diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java
index 45edcc75..0a20b332 100644
--- a/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java
+++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java
@@ -186,6 +186,21 @@ public class SigarRegistry extends AbstractMBean {
return MBEAN_INFO;
}
+ private void registerMBean(AbstractMBean mbean) {
+ try {
+ ObjectName name =
+ new ObjectName(mbean.getObjectName());
+ if (mbeanServer.isRegistered(name)) {
+ return;
+ }
+ ObjectInstance instance =
+ this.mbeanServer.registerMBean(mbean, name);
+ this.managedBeans.add(instance.getObjectName());
+ } catch (Exception e) {
+
+ }
+ }
+
// -------
// Implementation of the MBeanRegistration interface
// -------
@@ -203,132 +218,24 @@ public class SigarRegistry extends AbstractMBean {
if (!success.booleanValue())
return;
- // get CPUs
- registerCpuBeans();
-
- // get memory
- registerMemoryBeans();
-
- // get system
- registerSystemBeans();
- }
-
- /**
- * Registers MBeans for the Sigar types Cpu
, CpuPerc
- * and CpuInfo
. One instance will be registered for each CPU
- * (core?) found.
- */
- private void registerCpuBeans() {
- ObjectInstance nextRegistered = null;
-
+ //CPU beans
try {
final int cpuCount = sigar.getCpuInfoList().length;
for (int i = 0; i < cpuCount; i++) {
- // add CPU bean
- SigarCpu nextCpu = new SigarCpu(sigarImpl, i);
- try {
- if (!mbeanServer.isRegistered(new ObjectName(nextCpu
- .getObjectName())))
- nextRegistered = mbeanServer.registerMBean(nextCpu,
- null);
- } catch (Exception e) { // ignore
- }
- // add MBean to set of managed beans
- if (nextRegistered != null)
- managedBeans.add(nextRegistered.getObjectName());
- nextRegistered = null;
-
- // add CPU percentage bean
- SigarCpuPerc nextCpuPerc = new SigarCpuPerc(sigarImpl, i);
- try {
- if (!mbeanServer.isRegistered(new ObjectName(nextCpuPerc
- .getObjectName())))
- nextRegistered = mbeanServer.registerMBean(nextCpuPerc,
- null);
- } catch (Exception e) { // ignore
- }
- // add MBean to set of managed beans
- if (nextRegistered != null)
- managedBeans.add(nextRegistered.getObjectName());
- nextRegistered = null;
-
- // add CPU info bean
- SigarCpuInfo nextCpuInfo = new SigarCpuInfo(sigarImpl, i);
- try {
- if (!mbeanServer.isRegistered(new ObjectName(nextCpuInfo
- .getObjectName())))
- nextRegistered = mbeanServer.registerMBean(nextCpuInfo,
- null);
- } catch (Exception e) { // ignore
- }
- // add MBean to set of managed beans
- if (nextRegistered != null)
- managedBeans.add(nextRegistered.getObjectName());
- nextRegistered = null;
+ registerMBean(new SigarCpu(sigarImpl, i));
+ registerMBean(new SigarCpuPerc(sigarImpl, i));
+ registerMBean(new SigarCpuInfo(sigarImpl, i));
}
-
} catch (SigarException e) {
throw unexpectedError("CpuInfoList", e);
}
- }
- /**
- * Registers MBeans for the Sigar types Mem
and Swap
.
- */
- private void registerMemoryBeans() {
-
- ObjectInstance nextRegistered = null;
-
- // add physical memory bean
- SigarMem mem = new SigarMem(sigarImpl);
-
- try {
- if (!mbeanServer.isRegistered(new ObjectName(mem.getObjectName())))
- nextRegistered = mbeanServer.registerMBean(mem, null);
- } catch (Exception e) { // ignore
- }
-
- // add MBean to set of managed beans
- if (nextRegistered != null)
- managedBeans.add(nextRegistered.getObjectName());
- nextRegistered = null;
-
- // add swap memory bean
- SigarSwap swap = new SigarSwap(sigarImpl);
- try {
- if (!mbeanServer.isRegistered(new ObjectName(swap.getObjectName())))
- nextRegistered = mbeanServer.registerMBean(swap, null);
- } catch (Exception e) { // ignore
- nextRegistered = null;
- }
-
- // add MBean to set of managed beans
- if (nextRegistered != null)
- managedBeans.add(nextRegistered.getObjectName());
- nextRegistered = null;
- }
-
- /**
- * Registers MBeans for the Sigar types LoadAverage
...
- */
- private void registerSystemBeans() {
-
- ObjectInstance nextRegistered = null;
-
- // add load average bean
- SigarLoadAverage loadAvg = new SigarLoadAverage(sigarImpl);
-
- try {
- if (!mbeanServer.isRegistered(new ObjectName(loadAvg
- .getObjectName())))
- nextRegistered = mbeanServer.registerMBean(loadAvg, null);
- } catch (Exception e) { // ignore
- }
-
- // add MBean to set of managed beans
- if (nextRegistered != null)
- managedBeans.add(nextRegistered.getObjectName());
- nextRegistered = null;
+ //physical memory bean
+ registerMBean(new SigarMem(sigarImpl));
+ //swap memory bean
+ registerMBean(new SigarSwap(sigarImpl));
+ //load average bean
+ registerMBean(new SigarLoadAverage(sigarImpl));
}
/**