Return-Path: X-Original-To: apmail-tomcat-dev-archive@www.apache.org Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8C0CB73E0 for ; Tue, 9 Aug 2011 12:46:55 +0000 (UTC) Received: (qmail 19658 invoked by uid 500); 9 Aug 2011 12:46:52 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 18487 invoked by uid 500); 9 Aug 2011 12:46:50 -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 18478 invoked by uid 99); 9 Aug 2011 12:46:50 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Aug 2011 12:46:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.115] (HELO eir.zones.apache.org) (140.211.11.115) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Aug 2011 12:46:47 +0000 Received: by eir.zones.apache.org (Postfix, from userid 80) id 66E75486C7; Tue, 9 Aug 2011 12:46:26 +0000 (UTC) From: bugzilla@apache.org To: dev@tomcat.apache.org Subject: DO NOT REPLY [Bug 51637] Lifecyclebase.start() method should be non-final Date: Tue, 09 Aug 2011 12:46:25 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Tomcat 7 X-Bugzilla-Component: Catalina X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: markt@apache.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dev@tomcat.apache.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: https://issues.apache.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org https://issues.apache.org/bugzilla/show_bug.cgi?id=51637 --- Comment #3 from Mark Thomas 2011-08-09 12:46:25 UTC --- In short, yes. The longer version is that prior to Tomcat 7 the Lifecycle interface was loosely defined, largely optional and inconsistently implemented with large quantities of almost but not quite duplicate code. The code wasn't unmaintainable but it was a lot harder to maintain than it should have been. The inconsistencies in things like component start/stop and JMX registration of components was also causing problems. As part of the wider code clean-up for Tomcat 7 the Lifecycle interface was more tightly defined - particularly the permitted state transitions - and made non-optional for most internal components. Most (all?) of those components all extend LifecycleMBeanBase which ensures that MBean registration and de-registration happens at the correct point. It also ensures that components that extend correctly implement Lifecycle both in terms of the allowed state transitions and the firing of associated events. A side effect of this is that custom code that extends these components must override different methods. API changes are going to happen between major versions. They aren't made for the sake of it but neither are they avoided. It may be as simple as overriding a different method but you may find that other changes are required as well. It depends on exactly what the custom component is doing. As an aside, initialisation should be happening in init() not start() which probably means overriding initInternal(). -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org