На локальном компьютере у меня есть работающая задача, которую я отменяю с помощью future.cancel (true), которая возвращает true, и я вижу, что ThreadPoolTaskExecutor не имеет ожидающих задач.
Однако в другой среде (которая являетсяконтейнер), я вижу, что future.cancel (true) возвращает true, но ThreadPoolTaskExecutor не принимает новые задачи, поскольку предыдущие задачи не отменяются.
Есть идеи, почему это может произойти?Вот что я делаю.
Task task = new Task();
Future<String> future = threadPoolTaskExecutor.submit(task);
// wait for some time
boolean val = future.cancel(true)
// still cannot submit more tasks
private class Task implements Callable<String> {
@Override
public String call() throws InterruptedException {
Thread.sleep(10000);
return "value";
}
}