Я использую ScheduledExecutorService для нескольких фоновых задач.Но иногда случается так, что я получаю сообщение об ошибке при сбое:
Fatal Exception: java.util.concurrent.RejectedExecutionException
Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@3ff6c29 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@76bbbae[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 531]
Вот как я инициализирую пул:
if (backgroundExecutorService == null) {
backgroundExecutorService = Executors.newScheduledThreadPool(5);
}
Вот как я закрываю его, когда моя работа закончена:
if (backgroundExecutorService != null)
backgroundExecutorService.shutdownNow();
backgroundExecutorService = null;
Так как он показывает размер пула как 0 и активные потоки как 0 и поставленные в очередь задачи как 0 и завершенные задачи как 531. Теперь, как мне отладить проблему и как ее решить?