Кто-то сказал мне, что вы не должны запускать свои собственные потоки из веб-приложения, работающего под Tomcat (или, вероятно, в любом другом контейнере)
Runnable myRunnable = new Runnable() {
public void run() {
System.out.println("I'm running");
}
}
new Thread(myRunnable).start();
Или аналогично:
ScheduledThreadPoolExecutor retrySchedulerService = new ScheduledThreadPoolExecutor(3);
retrySchedulerService.schedule(dlrRetryTask, 120, TimeUnit.SECONDS);
Вместо любого из вышеперечисленных вы должны запросить поток из некоторого пула потоков, о котором знает Tomcat. Есть ли в этом доля правды или это полная чушь?