I modified conf/context.xml <Context unloadDelay="60000"> I hoped tomcat would wait 60 seconds for request to end. But there are some problems with spring app, I get
HTTP Status 503 - Servlet jsp is currently unavailable: I use tomcat 7.42 64 bit on windows 7 steps to reproduce: use app from https://github.com/spring-projects/spring-petclinic git clone https://github.com/SpringSource/spring-petclinic.git to VetController class add: @RequestMapping("/vets/{delay}") public String showVetListDelayed(@PathVariable int delay, Map<String, Object> model) { // Here we are returning an object of type 'Vets' rather than a collection of Vet objects // so it is simpler for Object-Xml mapping Vets vets = new Vets(); vets.getVetList().addAll(this.clinicService.findVets()); model.put("vets", vets); try { Thread.sleep(1000*delay); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } System.err.println("woken up ---------------------------"); return "vets/vetList"; } mvn clean install // copy from target to webapps go to http://localhost:8080/petclinic/vets/5 hit ctrl C app sleeps, wait until System.err.println("woken up ---------------------------"); executes !!!! but browser gets error. below is console log: Hibernate: select distinct vet0_.id as id1_5_0_, specialty2_.id as id1_2_1_, vet0_.first_ specialty2_.name as name2_2_1_, specialtie1_.vet_id as vet1_5_0__, specialtie1_.specialt join vet_specialties specialtie1_ on vet0_.id=specialtie1_.vet_id left outer join special alty2_.id order by vet0_.last_name, vet0_.first_name Jan 14, 2014 1:20:15 AM org.apache.catalina.core.StandardServer await INFO: A valid shutdown command was received via the shutdown port. Stopping the Server in Jan 14, 2014 1:20:15 AM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-apr-8080"] Jan 14, 2014 1:20:15 AM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["ajp-apr-8009"] Jan 14, 2014 1:20:15 AM org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina Jan 14, 2014 1:20:16 AM org.apache.catalina.core.StandardWrapper unload INFO: Waiting for 1 instance(s) to be deallocated for Servlet [petclinic] woken up --------------------------- INFO XmlWebApplicationContext - Closing WebApplicationContext for namespace 'petclinic-s ]; parent: Root WebApplicationContext INFO XmlWebApplicationContext - Closing Root WebApplicationContext: startup date [Tue Ja INFO AnnotationMBeanExporter - Unregistering JMX-exposed beans on shutdown INFO EhCacheManagerFactoryBean - Shutting down EhCache CacheManager INFO LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persi Jan 14, 2014 1:20:22 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc SEVERE: The web application [/petclinic] registered the JDBC driver [org.hsqldb.jdbc.JDBC plication was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregi Jan 14, 2014 1:20:22 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThrea SEVERE: The web application [/petclinic] appears to have started a thread named [PoolClea p it. This is very likely to create a memory leak. Jan 14, 2014 1:20:22 AM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["http-apr-8080"] Jan 14, 2014 1:20:22 AM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["ajp-apr-8009"] Jan 14, 2014 1:20:22 AM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["http-apr-8080"] Jan 14, 2014 1:20:22 AM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["ajp-apr-8009"] Regards Jakub