> -----Original Message----- > From: Konstantin Kolinko [mailto:knst.koli...@gmail.com] > Sent: Thursday, March 14, 2013 4:01 PM > To: Tomcat Users List > Subject: Re: Procrun and Tomcat service/OS shutdown on Windows > > 2013/3/14 Thomas, Steve <stho...@vocollect.com>: > > Hi - > > > > Running Tomcat 7.0.23 or 7.0.37 (32 or 64-bit) installed as a service > > (either via service.bat or the exe installer) on a Windows 7 64-bit > > OS, we are seeing an issue where the Windows shutdown kills Tomcat > > before our webapp shutdown sequence has time to execute fully. > > (Specifically, we just want to make sure our instance of HSQLDB shuts > > down correctly, otherwise corruption can ensue.) > > > > Details: > > > > Initially we were running with 32-bit Tomcat 7.0.23 and saw that our > > shutdown sequence was not being logged at all when one of our > > customers shut down his laptop. It looked like the process was just > > being killed. I found a commons-daemon/procrun bug and corresponding > > fix that seemed like it should address the issue, namely > > > > http://stackoverflow.com/questions/13578196/how-to-gracefully- > shutdown > > -procrun/14150785#14150785 > > > > https://issues.apache.org/jira/browse/DAEMON-274 > > > > I subsequently upgraded Tomcat to 7.0.36 (32-bit, zip) to get the > updated commons-daemon (http://tomcat.apache.org/tomcat-7.0- > doc/changelog.html), but to no avail. I thought perhaps the 32-bit > Tomcat/64-bit OS might be a disconnect, so I installed the 64-bit > version, but got the same result. In short, it looks like we're either > doing something wrong with our code, or there's a new wrinkle in the > OS-service handshaking, or the bug wasn't fixed correctly...maybe in > that order. > > > > Details below on how our code manifested the problem as well as other > steps to reproduce. > > > > Our database shutdown code is located in the destroy() function of a > class implementing org.springframework.beans.factory.DisposableBean. I > added a Thread.sleep(5 min) call to reproduce it on my machine. As > long as I shut down the service through the Services panel on Windows, > the shutdown sequence fully executes (and takes 5 min, as expected). > But if I just shut down Windows, the sequence is interrupted. > > > > 1. From the above I would say that is a Windows feature, that it does > not wait for service to shutdown properly. > > I'd look into Windows support and MSDN, whether it is a configuration > issue or something that be workaround by proper coding. >
I proposed three options to Steve to change the Windows configuration to either allow more time, or to make Tomcat shutdown dependent on the database shutdown, or both. > 2. On the "Shutdown" tab of the procrun service configuration dialog > (Tomcat7w.exe) there is "Timeout" field. > > I have "0" (sec) there. A good option, but it will not necessarily override the Windows default of 12 seconds to shut down a service. Jeffrey Harris This e-mail and any attachments are intended only for the use of the addressee(s) named herein and may contain proprietary information. If you are not the intended recipient of this e-mail or believe that you received this email in error, please take immediate action to notify the sender of the apparent error by reply e-mail; permanently delete the e-mail and any attachments from your computer; and do not disseminate, distribute, use, or copy this message and any attachments. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org