【发布时间】:2012-01-01 08:37:46
【问题描述】:
我正在开发一个 Java 网络应用程序。应用程序连接到 Lucene 索引。我创建了 IndexSearcher 的单例实例。此实例打开一些文件。当我重新部署 Web 应用程序时,由 IndexSearcher 的早期实例打开的文件继续保持打开状态,并且重新部署的应用程序会创建另一个实例。几次重新部署后,系统开始抛出“打开的文件过多”异常。我想在重新部署之前关闭旧实例,以便关闭旧文件,但我不知道该怎么做? web.xml 中是否有一个在取消部署时调用的指令,类似于启动时加载?我在 jboss 服务器上运行 web 应用程序。
【问题讨论】: