Ich bin kein MySQL-Experte, verwende aber seit einiger Zeit Tomcat JDBC mit Oracle. Inaktive Verbindungen bleiben hier bestehen, solange die App nicht heruntergefahren wird. Ich würde die Verbindungsprotokolle in MySQL überprüfen und die Protokollierung in Tomcat JDBC aktivieren, um zu sehen, wer wirklich Verbindungen beendet. Beides tut es.