Author: markt
Date: Tue Nov 30 16:11:23 2010
New Revision: 1040609

URL: http://svn.apache.org/viewvc?rev=1040609&view=rev
Log:
Switch MapperListener to the new Lifecycle

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/Connector.java
    tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java
    tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=1040609&r1=1040608&r2=1040609&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Tue Nov 30 
16:11:23 2010
@@ -879,11 +879,9 @@ public class Connector extends Lifecycle
 
         onameProtocolHandler = register(protocolHandler,
                 createObjectNameKeyProperties("ProtocolHandler"));
-        
-        mapperListener.setDomain(getDomain());
 
-        onameMapper = register(mapperListener,
-                createObjectNameKeyProperties("Mapper"));
+        // Initialize mapper listener
+        mapperListener.init();
     }
 
 
@@ -910,8 +908,7 @@ public class Connector extends Lifecycle
                  ("coyoteConnector.protocolHandlerStartFailed", e));
         }
 
-        // MapperListener doesn't follow Lifecycle conventions
-        mapperListener.init();
+        mapperListener.start();
     }
 
 
@@ -933,14 +930,13 @@ public class Connector extends Lifecycle
                  ("coyoteConnector.protocolHandlerStopFailed", e));
         }
 
-        // MapperListener doesn't follow Lifecycle conventions
-        mapperListener.destroy();
+        mapperListener.stop();
     }
 
 
     @Override
     protected void destroyInternal() throws LifecycleException {
-        unregister(onameMapper);
+        mapperListener.destroy();
         unregister(onameProtocolHandler);
         
         try {
@@ -977,7 +973,6 @@ public class Connector extends Lifecycle
     // -------------------- JMX registration  --------------------
 
     private ObjectName onameProtocolHandler;
-    private ObjectName onameMapper;
     
     @Override
     protected String getDomainInternal() {

Modified: tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java?rev=1040609&r1=1040608&r2=1040609&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java Tue Nov 
30 16:11:23 2010
@@ -27,6 +27,7 @@ import org.apache.catalina.LifecycleEven
 import org.apache.catalina.LifecycleListener;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Wrapper;
+import org.apache.catalina.util.LifecycleMBeanBase;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.http.mapper.Mapper;
@@ -39,7 +40,8 @@ import org.apache.tomcat.util.res.String
  * @author Remy Maucherat
  * @author Costin Manolache
  */
-public class MapperListener implements ContainerListener, LifecycleListener {
+public class MapperListener extends LifecycleMBeanBase
+        implements ContainerListener, LifecycleListener {
 
 
     private static final Log log = LogFactory.getLog(MapperListener.class);
@@ -82,18 +84,17 @@ public class MapperListener implements C
 
     // --------------------------------------------------------- Public Methods
 
-    public String getDomain() {
-        return domain;
+    public String getConnectorName() {
+        return this.connector.toString();
     }
 
-    public void setDomain(String domain) {
-        this.domain = domain;
-    }
+    
+    // ------------------------------------------------------- Lifecycle 
Methods
 
-    /**
-     * Initialize associated mapper.
-     */
-    public void init() {
+    @Override
+    public void startInternal() {
+
+        setState(LifecycleState.STARTING);
 
         // Find any components that have already been initialized since the
         // MBean listener won't be notified as those components will have
@@ -114,14 +115,25 @@ public class MapperListener implements C
     }
         
 
-    /**
-     * Clean-up.
-     */
-    public void destroy() {
-        // NO-OP?
+    @Override
+    public void stopInternal() {
+        setState(LifecycleState.STOPPING);
+    }
+
+
+    @Override
+    protected String getDomainInternal() {
+        // Should be the same as the connector
+        return connector.getDomainInternal();
     }
 
 
+    @Override
+    protected String getObjectNameKeyProperties() {
+        // Same as connector but Mapper rather than Connector
+        return connector.createObjectNameKeyProperties("Mapper");
+    }
+
     // --------------------------------------------- Container Listener methods
 
     @Override

Modified: tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml?rev=1040609&r1=1040608&r2=1040609&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml Tue 
Nov 30 16:11:23 2010
@@ -190,4 +190,15 @@
 
   </mbean>
 
+  <mbean   name="Mapper"
+    description="Maps requests received by the associated connector to Hosts, 
Contexts and Wrappers"
+         domain="Catalina"
+          group="Mapper"
+           type="org.apache.catalina.connector.MapperListener">
+
+    <attribute name="connectorName"
+        description="Name of the associated connector"
+               type="java.lang.String"
+          writeable="false"/>
+  </mbean>
 </mbeans-descriptors>

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1040609&r1=1040608&r2=1040609&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Tue Nov 30 16:11:23 2010
@@ -72,6 +72,10 @@
         <bug>50358</bug>: Set the correct LifecycleState when stopping 
instances
         of the deprecated Embedded class. (markt) 
       </fix>
+      <fix>
+        Further Lifecycle refactoring for Connectors and associated components.
+        (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Coyote">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to