Исходя из ваших комментариев к другому ответу, у меня есть предложение.(Обратите внимание, я согласен с Олегом, что вы действительно не должны делать это таким образом, но если вы должны ...).
Я предполагаю, что в обычном Java-приложении, откуда этот код, эти фоновые потоки каким-то образом получают сигнал на остановку.Я бы посоветовал использовать ServletContextListener
для отправки сигнала остановки, когда все ваши сервлеты были отменены.
Обратите внимание, что если у вас еще нет способа сообщить потокамостановка, это, вероятно, другая ошибка, и это совсем не поможет.