I have an issue with shutting down a Grails app in production.
It shuts down cleanly when running from IntelliJ. But on a standalone Tomcat 7, shutting down gets it into a zombie state where the java process still exists but HTTP requests hang. I have to kill the java process (using kill).
I’m using Tomcat’s standard bin/startup.sh and shutdown.sh. With Tomcat stopped, I drop the .war into Tomcat’s /webapps directory and then start.
I suspect it could be the Quartz job scheduler plugin, but I deployed a version with no jobs in grails-app/jobs and it still hangs.
Anybody run across this before? Thanks!
Non-Daemon Threads
Probably one or more non-daemon thread is still running and preventing tomcat from a successful shutdown.
ps -ef| grep javaand find your Tomcat7 p_idkill -3 p_idtail -200 logs/catalina.outkill -3