我想知道在Web应用程序中关闭ExecutorService
的正确位置是什么?
根据文档ExecutorService
应该关闭,但是在Web应用程序中代码中的正确位置是什么?
更新:对不起来感到抱歉。让我们在Java EE下考虑一个带有MVC的基于Web的应用程序(例如Spring MVC)。它有Controllers-> Facades->服务。它没有EJB。
答案 0 :(得分:0)
“Java EE”涵盖了广泛的技术。如果您正在讨论servlet,容器将在关闭时调用destroy()
,并且您可以在那里关闭ExecutorService
。如果服务由托管bean拥有,则可以使用@PreDestroy
标记方法来执行此操作。
答案 1 :(得分:0)
你可以使用ServletContextListener
:
@WebListener
public class MyServletContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent e) {
log.info("Hello");
}
public void contextDestroyed(ServletContextEvent e) {
log.info("Bye");
// Do cleanups here
}
}