test unregisterMBean

This commit is contained in:
Doug MacEachern 2009-04-29 18:08:55 -07:00
parent 806ee088d7
commit f5881726fd
1 changed files with 14 additions and 5 deletions

View File

@ -32,7 +32,7 @@ import org.hyperic.sigar.jmx.SigarProcess;
public class Mx extends SigarCommandBase {
private boolean isRegistered;
private ObjectName registryName;
public Mx(Shell shell) {
super(shell);
@ -64,16 +64,18 @@ public class Mx extends SigarCommandBase {
}
private void register(MBeanServer server) throws SigarException {
if (isRegistered) {
if (this.registryName != null) {
return;
}
try {
String name = org.hyperic.sigar.jmx.SigarRegistry.class.getName();
server.createMBean(name, null);
this.registryName = server.createMBean(name, null).getObjectName();
SigarProcess proc = new SigarProcess(this.sigar);
server.registerMBean(proc, new ObjectName(proc.getObjectName()));
isRegistered = true;
ObjectName pname = new ObjectName(proc.getObjectName());
if (!server.isRegistered(pname)) {
server.registerMBean(proc, pname);
}
} catch (Exception e) {
e.printStackTrace();
throw new SigarException(e.getMessage());
@ -134,7 +136,14 @@ public class Mx extends SigarCommandBase {
throw new SigarException(e.getMessage());
}
if (launchJconsole) {
flush();
jconsole();
try { //test unregisterMBean
server.unregisterMBean(this.registryName);
this.registryName = null;
} catch (Exception e) {
e.printStackTrace();
}
}
}