Estou implementando um sistema com agendamento de envio de e-mails utilizando TimerTask. Para as consultas utilizo
DAO e para instanciar a classe de DAO preciso do usuario da sessão, sendo assim, preciso da sessão também.
Ao logar no sistema eu pego a sessão sem problemas.
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
O sistema loga e ao solicitar o agendamento dos e-mails necessito da sessão novamente, mas nesse caso já abri a
Thread TimerTask, então ao tentar pegar a sessão pela mesma linha de código, o método que contém o Contexto
FacesContext.getCurrentInstance()
vem nulo, acredito eu, por estar em uma outra Thread.
Pergunto:
Como resolver esse problema?
Agradeço desde já, há qualquer ajuda.