Under Windows 10, my local development Tomcat Version 8.5.11 reports a lot
of warnings about not stopped threads. For example: " The web application
appears to have started a thread named [pool-1-thread-1-Logging Task
Scheduler] but has failed to stop it."
Our application support team reports the same issues running Tomcat within
Linux. The threads reported in the log
list various sources starting the threads: from libraries we use, and from
Tomcat's own threads like "Timer-x", "Session pool worker", "Level-2 Pool
Sweeper", " InactivityMonitor ReadCheck".

Shutting down means: pressing CTRL-C in Windows or sending a kill signal in
Linux. Maybe it is not unimported that our application itself uses an
Executor Service Thread pool, which - at contextDestroyed-event - tries to
shutdown the pool with a timeout value of 5 minutes (which is too long, I
know). The log warnings with "Thread not stopped" messages will be written
to the log after this timout. Then Tomcat effectively shuts down.

My question therefore is: What can we do to shutdown Tomcat in a proper
manner, that is: stopping all threads from thread pools? Can this be managed
by configuration or must this be done programmatically?

Thanks for any ideas.

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to