You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/03/04 22:18:04 UTC
svn commit: r919187 - in /tomcat/trunk/java/org/apache/catalina: connector/
core/
Author: markt
Date: Thu Mar 4 21:18:03 2010
New Revision: 919187
URL: http://svn.apache.org/viewvc?rev=919187&view=rev
Log:
Lifecycle refactoring
StandardPipeline
(and turn Eclipse compilation warnings up to 11)
Modified:
tomcat/trunk/java/org/apache/catalina/connector/Connector.java
tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties
tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties
tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties
tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java
tomcat/trunk/java/org/apache/catalina/core/StandardServer.java
tomcat/trunk/java/org/apache/catalina/core/StandardService.java
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=919187&r1=919186&r2=919187&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Thu Mar 4 21:18:03 2010
@@ -26,7 +26,6 @@
import javax.management.ObjectName;
import org.apache.catalina.Container;
-import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.LifecycleState;
import org.apache.catalina.Service;
@@ -51,8 +50,7 @@
*/
-public class Connector extends LifecycleBase
- implements Lifecycle, MBeanRegistration {
+public class Connector extends LifecycleBase implements MBeanRegistration {
private static final Log log = LogFactory.getLog(Connector.class);
@@ -967,6 +965,7 @@
*
* @exception LifecycleException if a fatal startup error occurs
*/
+ @Override
protected void startInternal() throws LifecycleException {
if( !initialized )
initialize();
@@ -1027,6 +1026,7 @@
*
* @exception LifecycleException if a fatal shutdown error occurs
*/
+ @Override
protected void stopInternal() throws LifecycleException {
setState(LifecycleState.STOPPING);
Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties?rev=919187&r1=919186&r2=919187&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties Thu Mar 4 21:18:03 2010
@@ -186,9 +186,6 @@
standardHost.warURL=Invalid URL for web application archive: {0}
standardHost.validationEnabled=XML validation enabled
standardHost.validationDisabled=XML validation disabled
-standardPipeline.alreadyStarted=Pipeline has already been started
-standardPipeline.notStarted=Pipeline has not been started
-standardPipeline.noValve=No more Valves in the Pipeline processing this request
standardServer.initialize.initialized=This server has already been initialized
standardServer.shutdownViaPort=A valid shutdown command was received via the shutdown port. Stopping the Server instance.
standardService.initialize.initialized=This service has already been initialized
Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties?rev=919187&r1=919186&r2=919187&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties Thu Mar 4 21:18:03 2010
@@ -162,9 +162,6 @@
standardHost.warURL = URL inv\u00E1lida para archivo de aplicaci\u00F3n web\: {0}
standardHost.validationEnabled = Activada la validaci\u00F3n XML
standardHost.validationDisabled = Desactivada la validaci\u00F3n XML
-standardPipeline.alreadyStarted = Ya se ha arrancado la Tuber\u00EDa (Pipeline)
-standardPipeline.notStarted = No se ha arrancado la Tuber\u00EDa (Pipeline)
-standardPipeline.noValve = No hay m\u00E1s V\u00E1lvulas en la Tuber\u00EDa (Pipeline) procesando este requerimiento
standardServer.initialize.initialized = Ya se ha inicializado este servidor
standardService.initialize.initialized = Ya ha sido inicializado este servicio
standardService.initialize.failed = Servicio inicializando en {0} fall\u00F3
Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties?rev=919187&r1=919186&r2=919187&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties Thu Mar 4 21:18:03 2010
@@ -135,9 +135,6 @@
standardHost.unfoundContext=Impossible de trouver un contexte pour l''URI {0} demand\u00e9e
standardHost.warRequired=Une URL vers l''archive d''application web (war) est n\u00e9cessaire
standardHost.warURL=URL vers l''archive d''application web (war) invalide: {0}
-standardPipeline.alreadyStarted=Le "Pipeline" a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-standardPipeline.notStarted=le "Pipeline" n''a pas \u00e9t\u00e9 d\u00e9marr\u00e9
-standardPipeline.noValve=Plus aucune Valve dans le "Pipeline" traitant cette requ\u00eate
standardServer.initialize.initialized=Ce serveur a d\u00e9j\u00e0 \u00e9t\u00e9 initialis\u00e9
standardService.initialize.initialized=Ce service a d\u00e9j\u00e0 \u00e9t\u00e9 initialis\u00e9
standardService.start.name=D\u00e9marrage du service {0}
Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties?rev=919187&r1=919186&r2=919187&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties Thu Mar 4 21:18:03 2010
@@ -142,9 +142,6 @@
standardHost.warURL=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30ab\u30a4\u30d6\u306b\u5bfe\u3059\u308b\u7121\u52b9\u306aURL\u3067\u3059: {0}
standardHost.validationEnabled=XML\u691c\u8a3c\u306f\u6709\u52b9\u3067\u3059
standardHost.validationDisabled=XML\u691c\u8a3c\u306f\u7121\u52b9\u3067\u3059
-standardPipeline.alreadyStarted=\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-standardPipeline.notStarted=\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-standardPipeline.noValve=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u51e6\u7406\u3059\u308b\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u4e2d\u306b\u3053\u308c\u4ee5\u4e0a\u306e\u30d0\u30eb\u30d6\u306f\u3042\u308a\u307e\u305b\u3093
standardServer.initialize.initialized=\u3053\u306e\u30b5\u30fc\u30d0\u306f\u65e2\u306b\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u3059
standardService.initialize.initialized=\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u306f\u65e2\u306b\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u3059
standardService.start.name=\u30b5\u30fc\u30d3\u30b9 {0} \u3092\u8d77\u52d5\u3057\u307e\u3059
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=919187&r1=919186&r2=919187&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java Thu Mar 4 21:18:03 2010
@@ -27,11 +27,10 @@
import org.apache.catalina.Container;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleException;
-import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.LifecycleState;
import org.apache.catalina.Pipeline;
import org.apache.catalina.Valve;
-import org.apache.catalina.util.LifecycleSupport;
-import org.apache.tomcat.util.res.StringManager;
+import org.apache.catalina.util.LifecycleBase;
import org.apache.catalina.valves.ValveBase;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -51,9 +50,8 @@
* @author Craig R. McClanahan
*/
-public class StandardPipeline
- implements Pipeline, Contained, Lifecycle
- {
+public class StandardPipeline extends LifecycleBase
+ implements Pipeline, Contained {
private static final Log log = LogFactory.getLog(StandardPipeline.class);
@@ -106,25 +104,6 @@
/**
- * The lifecycle event support for this component.
- */
- protected LifecycleSupport lifecycle = new LifecycleSupport(this);
-
-
- /**
- * The string manager for this package.
- */
- protected static final StringManager sm =
- StringManager.getManager(Constants.Package);
-
-
- /**
- * Has this component been started yet?
- */
- protected boolean started = false;
-
-
- /**
* The first valve associated with this Pipeline.
*/
protected Valve first = null;
@@ -177,60 +156,15 @@
}
- // ------------------------------------------------------ Lifecycle Methods
-
-
- /**
- * Add a lifecycle event listener to this component.
- *
- * @param listener The listener to add
- */
- public void addLifecycleListener(LifecycleListener listener) {
-
- lifecycle.addLifecycleListener(listener);
-
- }
-
-
- /**
- * Get the lifecycle listeners associated with this lifecycle. If this
- * Lifecycle has no listeners registered, a zero-length array is returned.
- */
- public LifecycleListener[] findLifecycleListeners() {
-
- return lifecycle.findLifecycleListeners();
-
- }
-
-
/**
- * Remove a lifecycle event listener from this component.
- *
- * @param listener The listener to remove
- */
- public void removeLifecycleListener(LifecycleListener listener) {
-
- lifecycle.removeLifecycleListener(listener);
-
- }
-
- /**
- * Prepare for active use of the public methods of this Component.
+ * Start {@link Valve}s) in this pipeline and implement the requirements
+ * of {@link LifecycleBase#startInternal()}.
*
* @exception LifecycleException if this component detects a fatal error
- * that prevents it from being started
+ * that prevents this component from being used
*/
- public synchronized void start() throws LifecycleException {
-
- // Validate and update our current component state
- if (started)
- throw new LifecycleException
- (sm.getString("standardPipeline.alreadyStarted"));
-
- // Notify our interested LifecycleListeners
- lifecycle.fireLifecycleEvent(BEFORE_START_EVENT, null);
-
- started = true;
+ @Override
+ protected synchronized void startInternal() throws LifecycleException {
// Start the Valves in our pipeline (including the basic), if any
Valve current = first;
@@ -244,34 +178,21 @@
current = current.getNext();
}
- // Notify our interested LifecycleListeners
- lifecycle.fireLifecycleEvent(START_EVENT, null);
-
- // Notify our interested LifecycleListeners
- lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null);
-
+ setState(LifecycleState.STARTING);
}
/**
- * Gracefully shut down active use of the public methods of this Component.
+ * Stop {@link Valve}s) in this pipeline and implement the requirements
+ * of {@link LifecycleBase#stopInternal()}.
*
* @exception LifecycleException if this component detects a fatal error
- * that needs to be reported
+ * that prevents this component from being used
*/
- public synchronized void stop() throws LifecycleException {
+ @Override
+ protected synchronized void stopInternal() throws LifecycleException {
- // Validate and update our current component state
- if (!started)
- throw new LifecycleException
- (sm.getString("standardPipeline.notStarted"));
-
- // Notify our interested LifecycleListeners
- lifecycle.fireLifecycleEvent(BEFORE_STOP_EVENT, null);
-
- // Notify our interested LifecycleListeners
- lifecycle.fireLifecycleEvent(STOP_EVENT, null);
- started = false;
+ setState(LifecycleState.STOPPING);
// Stop the Valves in our pipeline (including the basic), if any
Valve current = first;
@@ -284,11 +205,21 @@
unregisterValve(current);
current = current.getNext();
}
-
- // Notify our interested LifecycleListeners
- lifecycle.fireLifecycleEvent(AFTER_STOP_EVENT, null);
}
+
+ /**
+ * Return a String representation of this component.
+ */
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("Pipeline[");
+ sb.append(container);
+ sb.append(']');
+ return sb.toString();
+ }
+
+
private void registerValve(Valve valve) {
if( valve instanceof ValveBase &&
@@ -373,7 +304,7 @@
// Stop the old component if necessary
if (oldBasic != null) {
- if (started && (oldBasic instanceof Lifecycle)) {
+ if (getState().isAvailable() && (oldBasic instanceof Lifecycle)) {
try {
((Lifecycle) oldBasic).stop();
} catch (LifecycleException e) {
@@ -445,7 +376,7 @@
((Contained) valve).setContainer(this.container);
// Start the new component if necessary
- if (started) {
+ if (getState().isAvailable()) {
if (valve instanceof Lifecycle) {
try {
((Lifecycle) valve).start();
@@ -547,7 +478,7 @@
((Contained) valve).setContainer(null);
// Stop this valve if necessary
- if (started) {
+ if (getState().isAvailable()) {
if (valve instanceof Lifecycle) {
try {
((Lifecycle) valve).stop();
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardServer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardServer.java?rev=919187&r1=919186&r2=919187&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardServer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardServer.java Thu Mar 4 21:18:03 2010
@@ -651,6 +651,7 @@
* @exception LifecycleException if this component detects a fatal error
* that prevents this component from being used
*/
+ @Override
protected void startInternal() throws LifecycleException {
setState(LifecycleState.STARTING);
@@ -671,6 +672,7 @@
* @exception LifecycleException if this component detects a fatal error
* that needs to be reported
*/
+ @Override
protected void stopInternal() throws LifecycleException {
setState(LifecycleState.STOPPING);
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardService.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardService.java?rev=919187&r1=919186&r2=919187&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardService.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardService.java Thu Mar 4 21:18:03 2010
@@ -440,6 +440,7 @@
* @exception LifecycleException if this component detects a fatal error
* that prevents this component from being used
*/
+ @Override
protected void startInternal() throws LifecycleException {
if( ! initialized )
@@ -479,6 +480,7 @@
* @exception LifecycleException if this component detects a fatal error
* that needs to be reported
*/
+ @Override
protected void stopInternal() throws LifecycleException {
// Stop our defined Connectors first
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org