Recuperando e eliminando timerTask perdida na sessão

Boa tarde,
Estou com problemas com uma timerTask da classe Timer.
A task foi inicializada e lançada na sessão atraves do código:

request.getSession().setAttribute(“oj2Timer”,oj2Timer);

Só que quando eu procuro “oj2Timer” na sessão para finalizá-lo, atraves do código?

request.getSession().removeAttribute(“oj2Timer”);

Não consigo finalizá-lo, ou seja a task fica rodando infinitamente.

Gostaria de saber, se há alguma forma de limpar totalmente a sessão ou uma forma eficaz
de procurar tudo que esta na sessão para enfim saber como qual o nome da task inicializada.

Obrigado.

Timer timer = (Timer) request.getSession().getAttribute("oj2Timer");

if (timer != null) {
    timer.cancel(); // http://docs.oracle.com/javase/1.3/docs/api/java/util/Timer.html & http://docs.oracle.com/javase/1.3/docs/api/java/util/TimerTask.html (leia sobre cancel())
    request.getSession().removeAttribute("oj2Timer");
}

Se você está na web, considere avaliar o construtor que inicia o Timer como uma daemon Thread (http://www.jguru.com/faq/view.jsp?EID=43724) :

Timer timer = new Timer(true);

[]'s

Obrigado, resolveu meu problema.