[RESOLVIDO] contextDestroyed, sessionDestroyed e afins

Bom pessoal, estou na seguinte situação: minha aplicação JSF cria alguns arquivos no servidor durante seu uso. Eu preciso apagar estes arquivos depois que o usuário não estiver mais na aplicação, ou seja, quando ele fechar o browser, ou quando trocar de página… ou coisa do gênero.
Alguém sugere um momento pra eu fazer isto?
Já tentei implementar meu código no sessionDestroyed mas como eu não tenho um “logoff” na aplicação eu fico na dependência do “timeout” da sessão… (mesmo depois de fechar o browser a sessão continua aberta enquanto não alcançar o timeout)

Aceito sugestões!!!

[]'s!

Emerson, estou com o mesmo problema que você.
A principio, eu vejo uma saída que está longe do ideal mas acredito que seja uma saída. Você já pensou em startar um serviço em determinada hora que limpe estes arquivos (todos)?

Emerson, um amigo meu comentou que você poderia utilizar o sessionDestroyed da classe HttpSessionListener.
Ultima dica da terça-feira.

Boa Sorte.

Bom, no final das contas eu criei uma classe que implementa HttpSessionListener e usei os métodos sessionCreated e sessionDestroyed para resolver a questão.
Eu armazeno o caminho dos arquivos em um atributo de sessão e quando a sessão expira (por timeout ou não) eu leio este atributo e apago os arquivos.
O segredo é saber como acessar a sessão que está prestes a ser finalizada.

    public void sessionDestroyed(HttpSessionEvent se) {
        HttpSession mySession = se.getSession();
        
        Iterator<Link> it = ((List<Link>) mySession.getAttribute("links")).iterator();

        while (it.hasNext()) {
            //deletar aqui!
        }
    }

Usando o parâmetro se (do tipo HttpSessionEvent) consigo recuperar a sessão, recuperar os arquivos e apagá-los:

        HttpSession mySession = se.getSession();

Valeu!