étodo @Call ao remover a implementação de um aplicativo da web Java

Estou desenvolvendo um aplicativo Web Java. O aplicativo se conecta a um índice Lucene. Eu crio uma instância singleton do IndexSearcher. Esta instância abre alguns arquivos. Quando reimplanto o aplicativo Web, os arquivos abertos pela instância anterior do IndexSearcher permanecem abertos e outra instância é criada pelo aplicativo reimplantado. Após algumas reimplantações, o sistema começa a lançar uma exceção "muitos arquivos abertos". Gostaria de fechar a instância antiga antes de reimplementar, para que os arquivos antigos sejam fechados, mas não consigo descobrir como fazer isso? Existe uma diretiva no web.xml chamada para desinstalar, semelhante à carga na inicialização? Estou executando o aplicativo Web em um servidor jboss.

questionAnswers(2)

yourAnswerToTheQuestion