Я пытаюсь использовать HttpSessionListener:
public class SessionListener implements HttpSessionListener
{
public void sessionCreated(HttpSessionEvent event) {
System.out.println("ID Session Created: " + event.getSession().getId());
}
public void sessionDestroyed(HttpSessionEvent event) {
System.out.println("ID Session Destroyed: " + event.getSession().getId());
}
}
web.xml:
<listener>
<listener-class>session.SessionListener</listener-class>
</listener>
UserManager.java :
@SessionScoped
@ManagedBean(name="userManager")
public class UserManager extends Tools
{
/**/
private static final long serialVersionUID = -8522314095497978567L;
private String username;
private String password;
private transient HttpSession session = null;
public String login()
{
user = (User) find(username, password);
if (user != null)
{
username = password = null;
FacesContext context = FacesContext.getCurrentInstance();
session = (HttpSession) context.getExternalContext().getSession(true);
session.setAttribute("id", user.getID());
}
}
public void logout()
{
user = null;
FacesContext context = FacesContext.getCurrentInstance();
session = (HttpSession) context.getExternalContext().getSession(true);
session.invalidate();
}
// getters and setters ----------------------------------------------------
}
Работает, но немного странно.
Если я выхожу из системы, он сообщает консоли:
ID Session Destroyed: 807DEDB88D35C0351BF2B9FBA83519AB
ID Session Created: 8A029C95E6BA9DF17FB91C7F3AC81B24
Если вход в систему, в консоли ничего нет.
Что я делаю не так?