JSF - Problemas com FacesContext utilizando Threads

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.