Oi Eduardo,
Cada usuário
terá seu objeto Session
que é gerenciado automaticamente pelo servidor.
Sempre que você acessar o objeto Session
em alguma classe, será a mesma Session
, que representa a sessão daquele usuário em específico.
A única maneira de você conseguir recuperar todas as sessões e criando um Listener e guardando numa lista as sessões novas que foram criadas.
Algo como:
@WebListener
public class RegistraSessions implements HttpSessionListener {
private List<Session> sessoes = new ArrayList<>();
@Override
public void sessionCreated(HttpSessionEvent event) {
//esse metodo sera chamado pelo servidor sempre que uma nova session for criada
Session session = event.getSession();
sessoes.add(session);
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
//esse metodo é chamado quando a sessão expira ou quando é destruida manualmente na aplicação
Session session = event.getSession();
sessoes.remove(session);
}
public List<Session> getSessoes() {
return sessoes;
}
}