Если приложение запускает все виды вещей (регистрирует драйверы jdbc, запускает потоки и т. Д.), Когда оно запускается, это приложение также отвечает за очистку после себя, когда оно остановлено.
Вы автор этого приложения?Исправьте ваш код.Не автор этого приложения?Отправьте отчет об ошибке.
В последнем случае, пока ошибка не будет устранена, возможно, можно добавить в развертывание созданный вами ServletContextListener.Но очистка оставшихся потоков от «чужого» кода в любом случае потребует от вас выяснить, как найти эти объекты потоков, а затем остановить () их, что является устаревшим методом.