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: [email protected]
For additional commands, e-mail: [email protected]