public static void registerMBean(Object mbean, String name) {
try {
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
+ if(mbeanServer.isRegistered(objectName(name))){
+ mbeanServer.unregisterMBean(objectName(name));
+ }
mbeanServer.registerMBean(mbean, objectName(name));
} catch (RuntimeException re) {
throw re;
throw new IllegalStateException("Fail to register JMX MBean named " + name, e);
}
}
+
+ public static void deRegisterMBean(String name) {
+ try {
+ MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
+ mbeanServer.unregisterMBean(objectName(name));
+ } catch (RuntimeException re) {
+ throw re;
+ } catch (Exception e) {
+ throw new IllegalStateException("Fail to register JMX MBean named " + name, e);
+ }
+ }
}