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