No soy un experto en MySQL, pero uso Tomcat JDBC con Oracle por un tiempo. Las conexiones inactivas persisten aquí siempre que la aplicación no se cierre. Verificaría los registros de conexión en MySQL y habilitaría el inicio de sesión en Tomcat JDBC para ver quién realmente está cerrando las conexiones. Cualquiera de los dos lo hace.