summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins/experimental/shutdown/src/main/java/org/apache/qpid/shutdown/Activator.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-plugins/experimental/shutdown/src/main/java/org/apache/qpid/shutdown/Activator.java')
-rw-r--r--qpid/java/broker-plugins/experimental/shutdown/src/main/java/org/apache/qpid/shutdown/Activator.java28
1 files changed, 7 insertions, 21 deletions
diff --git a/qpid/java/broker-plugins/experimental/shutdown/src/main/java/org/apache/qpid/shutdown/Activator.java b/qpid/java/broker-plugins/experimental/shutdown/src/main/java/org/apache/qpid/shutdown/Activator.java
index ad5e7707b6..2b7fa33784 100644
--- a/qpid/java/broker-plugins/experimental/shutdown/src/main/java/org/apache/qpid/shutdown/Activator.java
+++ b/qpid/java/broker-plugins/experimental/shutdown/src/main/java/org/apache/qpid/shutdown/Activator.java
@@ -19,11 +19,6 @@
*/
package org.apache.qpid.shutdown;
-import java.lang.management.ManagementFactory;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
import org.apache.log4j.Logger;
import org.osgi.framework.BundleActivator;
@@ -33,20 +28,17 @@ public class Activator implements BundleActivator
{
private static final Logger _logger = Logger.getLogger(Activator.class);
- private static final String SHUTDOWN_MBEAN_NAME = "org.apache.qpid:type=ShutdownMBean";
+ private Shutdown _shutdown = null;
/** @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) */
public void start(BundleContext ctx) throws Exception {
- Shutdown shutdown = new Shutdown();
+ _shutdown = new Shutdown();
if (ctx != null)
{
- ctx.registerService(ShutdownMBean.class.getName(), shutdown, null);
+ ctx.registerService(ShutdownMBean.class.getName(), _shutdown, null);
}
- // MBean registration
- MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
- ObjectName name = new ObjectName(SHUTDOWN_MBEAN_NAME);
- mbs.registerMBean(shutdown, name);
+ _shutdown.register();
_logger.info("Shutdown plugin MBean registered");
}
@@ -54,16 +46,10 @@ public class Activator implements BundleActivator
/** @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) */
public void stop(BundleContext ctx) throws Exception
{
- // Unregister MBean
- MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
- ObjectName name = new ObjectName(SHUTDOWN_MBEAN_NAME);
- try
- {
- mbs.unregisterMBean(name);
- }
- catch (InstanceNotFoundException e)
+ if (_shutdown != null)
{
- //ignore
+ _shutdown.unregister();
+ _shutdown = null;
}
_logger.info("Shutdown plugin MBean unregistered");