【发布时间】:2011-10-16 00:20:19
【问题描述】:
我有一个 Java 网络应用程序。
我可以通过web.xml中的参数指定在servlet上调用init()方法的顺序:
<load-on-startup>1</load-on-startup>
但是,如何指定调用destroy() 方法的顺序?
其实我需要做的只是最后关闭log4j。不过提前想知道调用destroy()方法有没有一些规则。
【问题讨论】:
-
不是答案:如果您要关闭 Servlet 之间共享的资源,我会使用 ServletContext 侦听器,该侦听器仅调用一次。所以你不依赖于任何“奇怪”的隐式关闭序列。
-
为什么 log4j 必须关闭?
-
@Kevin Panko:问得好,也许他/她使用一些记录器记录到数据库或队列等?
-
如果您不关闭 log4j,它将在应用容器运行之前不会释放日志文件。
标签: java jakarta-ee servlets log4j web.xml