ServletContextListener

ServletContextListener

我当前正在实现ServletContextListener并使用 contextDestroyed() 在Web应用程序关闭之前对其运行清理任务。但是,我一直在阅读如何将 Runtime.addShutdownHook(Thread) 用于相同的目的。

取消部署之前运行清除的这两种方法之间有什么区别吗?就功能,效率和可维护性而言,哪种更适合Web应用程序?

最佳答案

我认为ServletContextListener更适合Web应用程序,因为您需要清理每个 session 的资源。

在关闭JVM的情况下执行关闭钩子(Hook)。那将是您停止容器的时间,这是一次性事件。

10-06 09:31