You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2010/06/25 16:13:26 UTC
svn commit: r957960 - in /tomcat/trunk:
java/org/apache/catalina/core/LocalStrings.properties
java/org/apache/catalina/core/StandardService.java webapps/docs/changelog.xml
Author: kkolinko
Date: Fri Jun 25 14:13:26 2010
New Revision: 957960
URL: http://svn.apache.org/viewvc?rev=957960&view=rev
Log:
Additional fix for
https://issues.apache.org/bugzilla/show_bug.cgi?id=49030
When initializing/starting/stopping connectors and one of them fails, do not ignore the others.
These changes are already included in the BZ 49030 patch that I proposed for TC6.
Modified:
tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/core/StandardService.java
tomcat/trunk/webapps/docs/changelog.xml
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=957960&r1=957959&r2=957960&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties Fri Jun 25 14:13:26 2010
@@ -189,8 +189,11 @@ standardHost.warRequired=URL to web appl
standardHost.warURL=Invalid URL for web application archive: {0}
standardServer.onameFail=MBean name specified for Server [{0}] is not valid
standardServer.shutdownViaPort=A valid shutdown command was received via the shutdown port. Stopping the Server instance.
-standardService.connector.initFailed=Failed to initialise connector [{0}]
+standardService.connector.initFailed=Failed to initialize connector [{0}]
standardService.connector.destroyFailed=Failed to destroy connector [{0}]
+standardService.connector.pauseFailed=Failed to pause connector [{0}]
+standardService.connector.startFailed=Failed to start connector [{0}]
+standardService.connector.stopFailed=Failed to stop connector [{0}]
standardService.initialize.failed=Service initializing at {0} failed
standardService.onameFail=MBean name specified for Service [{0}] is not valid
standardService.register.failed=Error registering Service at domain {0}
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=957960&r1=957959&r2=957960&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardService.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardService.java Fri Jun 25 14:13:26 2010
@@ -230,7 +230,9 @@ public class StandardService extends Lif
try {
connector.start();
} catch (LifecycleException e) {
- log.error("Connector.start", e);
+ log.error(sm.getString(
+ "standardService.connector.startFailed",
+ connector), e);
}
}
@@ -294,7 +296,9 @@ public class StandardService extends Lif
try {
connectors[j].stop();
} catch (LifecycleException e) {
- log.error("Connector.stop", e);
+ log.error(sm.getString(
+ "standardService.connector.stopFailed",
+ connectors[j]), e);
}
}
connector.setService(null);
@@ -433,7 +437,13 @@ public class StandardService extends Lif
// Start our defined Connectors second
synchronized (connectors) {
for (int i = 0; i < connectors.length; i++) {
- connectors[i].start();
+ try {
+ connectors[i].start();
+ } catch (Exception e) {
+ log.error(sm.getString(
+ "standardService.connector.startFailed",
+ connectors[i]), e);
+ }
}
}
}
@@ -453,7 +463,13 @@ public class StandardService extends Lif
// Stop our defined Connectors first
synchronized (connectors) {
for (int i = 0; i < connectors.length; i++) {
- connectors[i].pause();
+ try {
+ connectors[i].pause();
+ } catch (Exception e) {
+ log.error(sm.getString(
+ "standardService.connector.pauseFailed",
+ connectors[i]), e);
+ }
}
}
@@ -478,11 +494,18 @@ public class StandardService extends Lif
// Stop our defined Connectors first
synchronized (connectors) {
for (int i = 0; i < connectors.length; i++) {
- // If Service fails to start, connectors may not have been
- // started
- if (!LifecycleState.INITIALIZED
- .equals(connectors[i].getState())) {
+ if (LifecycleState.INITIALIZED.equals(
+ connectors[i].getState())) {
+ // If Service fails to start, connectors may not have been
+ // started
+ continue;
+ }
+ try {
connectors[i].stop();
+ } catch (Exception e) {
+ log.error(sm.getString(
+ "standardService.connector.stopFailed",
+ connectors[i]), e);
}
}
}
@@ -522,9 +545,12 @@ public class StandardService extends Lif
try {
connector.init();
} catch (Exception e) {
- log.error(sm.getString(
- "standardService.connector.initFailed", connector),
- e);
+ String message = sm.getString(
+ "standardService.connector.initFailed", connector);
+ log.error(message, e);
+
+ if (Boolean.getBoolean("org.apache.catalina.startup.EXIT_ON_INIT_FAILURE"))
+ throw new LifecycleException(message);
}
}
}
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=957960&r1=957959&r2=957960&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Jun 25 14:13:26 2010
@@ -56,6 +56,10 @@
Add entryPoint support to the CSRF prevention filter. (markt)
</add>
<fix>
+ <bug>49030</bug>: When initializing/starting/stopping connectors and
+ one of them fails, do not ignore the others. (markt/kkolinko)
+ </fix>
+ <fix>
<bug>49230</bug>: Enhance JRE leak prevention listener with protection
for the keep-alive thread started by
<code>sun.net.www.http.HttpClient</code>. Based on a patch provided by
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org