1

ExecutorService我想知道在 Web 应用程序中关闭的正确位置是什么?

根据文档ExecutorService应该关闭,但代码中的正确位置是在 Web 应用程序中执行此操作吗?

更新:抱歉不清楚。让我们考虑在 Java EE 下使用 MVC(例如 Spring MVC)的基于 Web 的应用程序。它有控制器->外墙->服务。它没有 EJB。

4

2 回答 2

0

“Java EE”涵盖了广泛的技术。如果你在谈论一个 servlet,容器会destroy()在它被关闭时调用,你可以关闭你的ExecutorService那里。如果服务由托管 bean 拥有,您可以使用@PreDestroy标记方法来执行此操作。

于 2013-08-29T13:35:32.687 回答
0

您可以使用 a 获得一个钩子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
    }
}
于 2013-08-29T14:19:38.213 回答