Below is the relevant part of source code: public void start() throws LifecycleException { // Validate and update our current component state if (log.isInfoEnabled() && started) { log.info(sm.getString("standardService.start.started")); } if( ! initialized ) init(); Is it reasonable that start() method should return immediately? I checked the start() methods in StandardServer, StandardEngine, StandardHost and StandardContext, and found that they all return immediately if 'started' has been true.
Thanks for the report. This has been fixed in trunk and proposed for 6.0.x
This has been fixed in 6.0.x and will be included in 6.0.25 onwards.