onameProtocolHandler = register(protocolHandler,
createObjectNameKeyProperties("ProtocolHandler"));
-
- mapperListener.setDomain(getDomain());
- onameMapper = register(mapperListener,
- createObjectNameKeyProperties("Mapper"));
+ // Initialize mapper listener
+ mapperListener.init();
}
("coyoteConnector.protocolHandlerStartFailed", e));
}
- // MapperListener doesn't follow Lifecycle conventions
- mapperListener.init();
+ mapperListener.start();
}
("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 {
// -------------------- JMX registration --------------------
private ObjectName onameProtocolHandler;
- private ObjectName onameMapper;
@Override
protected String getDomainInternal() {
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;
* @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);
// --------------------------------------------------------- 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
}
- /**
- * 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