Author: justin
Date: Wed Jan 11 17:31:28 2012
New Revision: 1230163

URL: http://svn.apache.org/viewvc?rev=1230163&view=rev
Log:
SLING-2357 - unregistering mbean service in deactivate()

Modified:
    
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java

Modified: 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java?rev=1230163&r1=1230162&r2=1230163&view=diff
==============================================================================
--- 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java
 (original)
+++ 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java
 Wed Jan 11 17:31:28 2012
@@ -180,6 +180,8 @@ public class SlingMainServlet extends Ge
 
     private ServiceRegistration requestProcessorRegistration;
 
+    private ServiceRegistration requestProcessorMBeanRegistration;
+
     // ---------- Servlet API -------------------------------------------------
 
     public void service(ServletRequest req, ServletResponse res)
@@ -438,7 +440,7 @@ public class SlingMainServlet extends Ge
             mbeanProps.put("jmx.objectname", 
"org.apache.sling:type=engine,service=RequestProcessor");
 
             RequestProcessorMBeanImpl mbean = new RequestProcessorMBeanImpl();
-            
bundleContext.registerService(RequestProcessorMBean.class.getName(), mbean, 
mbeanProps);
+            requestProcessorMBeanRegistration = 
bundleContext.registerService(RequestProcessorMBean.class.getName(), mbean, 
mbeanProps);
             requestProcessor.setMBean(mbean);
         } catch (Throwable t) {
             log.debug("Unable to register mbean");
@@ -465,6 +467,11 @@ public class SlingMainServlet extends Ge
             requestProcessorRegistration = null;
         }
 
+        if (requestProcessorMBeanRegistration != null) {
+            requestProcessorMBeanRegistration.unregister();
+            requestProcessorMBeanRegistration = null;
+        }
+
         // unregister request recorder plugin
         try {
             RequestHistoryConsolePlugin.destroyPlugin();


Reply via email to