Я настроил службу исполнителя в Spring Boot следующим образом:
@Configuration
@PropertySource({ "classpath:executor.properties" })
public class ExecutorServiceConfig {
@Value("${"executor.thread.count"}")
private int executorThreadCount;
@Bean("executorThreadPool")
public ThreadPoolExecutor cachedThreadPool() {
return new ThreadPoolExecutor(executorThreadCount, executorThreadCount, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
}
}
Приложение развернуто на независимом экземпляре Tomcat.Когда сервер Tomcat завершает работу, я обнаружил, что в очереди все еще есть задачи, которые не были выполнены.В результате я потеряю данные.Есть ли способ для меня вызвать awaitTermination в этой службе исполнителя, чтобы он получил возможность завершить то, что находится в очереди?Спасибо!