关闭执行器在 Web 应用中优雅地提供服务?
2022-09-01 23:14:25
在我的 web 应用程序中,我创建了一个使用固定大小的 ThreadPool 的服务。我在整个应用程序生存期内重复使用相同的内容。ExecutorService
ExecutorService
private static ExecutorService pool = Executors.newFixedThreadPool(8);
一切都在Tomcat中运行,这在关闭时给我带来了以下错误:
appears to have started a thread named [pool-1-thread-1] but has failed to stop it. This is very likely to create a memory leak.
我确实意识到我需要在关闭tomcat之前关闭执行器服务。Soms SO线程已经谈到了这一点,但我找不到一种干净的方法来处理这个问题。
我是否应该在正确关闭线程和执行器中使用建议的@Tim弯曲器?或者我应该改用缓存线程池?ShutdownHook