Preciso controlar as sessões de usuário em um Servlet. Para isso criei a seguinte classe:
public class ControleSessoes implements HttpSessionListener
{
public void sessionCreated(HttpSessionEvent event)
{
}
public void sessionDestroyed(HttpSessionEvent event)
{
try
{
InitialContext context = new InitialContext();
Login login = (Login) context.lookup("Login");
login.removerUsuarioSessao(event.getSession().getId());
}
catch (NamingException e)
{
}
}
}
E adicionei no Web.xml:
<listener>
<listener-class>monienterprise.ControleSessoes</listener-class>
</listener>
Porém, mesmo quando encerro a sessão, o método sessionDestroyed nunca é chamado. Já fui com debug, já adicionei log, ele nunca é chamado e a sessão está sendo destruída.
Onde pode estar o problema?