Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 76283 invoked from network); 4 Jan 2011 17:57:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 4 Jan 2011 17:57:42 -0000 Received: (qmail 39808 invoked by uid 500); 4 Jan 2011 17:57:41 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 39733 invoked by uid 500); 4 Jan 2011 17:57:41 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 39722 invoked by uid 99); 4 Jan 2011 17:57:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Jan 2011 17:57:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Jan 2011 17:57:39 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id BD3BD238890A; Tue, 4 Jan 2011 17:57:17 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1055121 - in /tomcat/trunk: java/org/apache/catalina/core/StandardService.java java/org/apache/catalina/util/LifecycleBase.java webapps/docs/changelog.xml Date: Tue, 04 Jan 2011 17:57:17 -0000 To: dev@tomcat.apache.org From: markt@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110104175717.BD3BD238890A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: markt Date: Tue Jan 4 17:57:16 2011 New Revision: 1055121 URL: http://svn.apache.org/viewvc?rev=1055121&view=rev Log: Re-fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49372 Don't throw an LifecycleException for an invalid transition if a connector fails to start. Modified: tomcat/trunk/java/org/apache/catalina/core/StandardService.java tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java tomcat/trunk/webapps/docs/changelog.xml 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=1055121&r1=1055120&r2=1055121&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardService.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardService.java Tue Jan 4 17:57:16 2011 @@ -453,7 +453,10 @@ public class StandardService extends Lif synchronized (connectors) { for (Connector connector: connectors) { try { - connector.start(); + // If it has already failed, don't try and start it + if (connector.getState() != LifecycleState.FAILED) { + connector.start(); + } } catch (Exception e) { log.error(sm.getString( "standardService.connector.startFailed", Modified: tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java?rev=1055121&r1=1055120&r2=1055121&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java Tue Jan 4 17:57:16 2011 @@ -97,7 +97,12 @@ public abstract class LifecycleBase impl } setState(LifecycleState.INITIALIZING); - initInternal(); + try { + initInternal(); + } catch (LifecycleException e) { + setState(LifecycleState.FAILED); + throw e; + } setState(LifecycleState.INITIALIZED); } @@ -213,7 +218,12 @@ public abstract class LifecycleBase impl setState(LifecycleState.STOPPING_PREP); - stopInternal(); + try { + stopInternal(); + } catch (LifecycleException e) { + setState(LifecycleState.FAILED); + throw e; + } if (state.equals(LifecycleState.MUST_DESTROY)) { // Complete stop process first @@ -221,8 +231,8 @@ public abstract class LifecycleBase impl destroy(); } else { - // Shouldn't be necessary but acts as a check that sub-classes are doing - // what they are supposed to. + // Shouldn't be necessary but acts as a check that sub-classes are + // doing what they are supposed to. if (!state.equals(LifecycleState.STOPPING)) { invalidTransition(Lifecycle.AFTER_STOP_EVENT); } @@ -271,7 +281,12 @@ public abstract class LifecycleBase impl setState(LifecycleState.DESTROYING); - destroyInternal(); + try { + destroyInternal(); + } catch (LifecycleException e) { + setState(LifecycleState.FAILED); + throw e; + } setState(LifecycleState.DESTROYED); } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1055121&r1=1055120&r2=1055121&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jan 4 17:57:16 2011 @@ -82,6 +82,12 @@ the pool when a web application is stopped. (slaurent) + 49372: Re-fix after connector re-factoring. If connector + initialisation fails (e.g. if a port is alreasy in use) do not trigger + an LifecycleException for an invalid state transition. + (markt) + + 49650: Remove unnecessary entries package.access property defined in catalina.properties. Patch provided by Owen Farrell. (markt) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org