On 09/02/2011 09:14, Konstantin Kolinko wrote: > 1) Browsing the code in o.a.c.startup.Embedded#stopInternal() I see > the following two lines: > > fireLifecycleEvent(STOP_EVENT, null); > setState(LifecycleState.STOPPING); > > Unless I miss something it means that STOP_EVENT is fired twice, once > by the fireLifecycleEvent() call and second time by setState(). > > > 2) Lifecycle#setState() does not check that new state != old state. It > always fires a lifecycle event on every call. > > I see that some 3rd party components that extend ours (like the one > mentioned in BZ 50738) call this.setState(STARTING), then call > super.startInternal() that may fire the event second time. > > Shouldn't we avoid firing duplicate events?
We should fix where we do it. 1 looks like a left-over from my refactoring. I don't think we should protect against 2. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org