With Tomcat >= 8.5, there is another solution in server.xml:
<Service name="Catalina" gracefulStopAwaitMillis="60000">
References : doc, difference with unloadDelay
(on this subject, see also bindOnInit="false" which makes Tomcat release the connector port sooner than later)