Listagem de itens das sessões

Olá,
bom, estou desenvolvendo um sistema em struts e estou com uma dúvida relacionada à sessions.
No meu sistema quando cada usuário loga, é colocado um item em sua sessão por meio da chamada:
request.getSession().setAttribute(“nomeUsuario”,nome);
dentro do método execute do struts.

Quando o administrador loga no sistema ele quer ver todos os usuários logados no sistema. Como eu faço para acessar todas as sessions ativas de todos os usuários dentro de um execute??

valeu a todos

Danilo, não sei se isso quer vc quer fazer tem jeito, devido a questões de segurança… uma solução alternativa seria criar uma lista estática ou dentro de um singleton (mais elegante) de forma que um servlet ou filter da aplicação incluisse ou remove-se as informações desejadas dos usuários no momento do login/logoff. Não esqueça de syncronizar o acesso a essa lista.

Essa lista pode ficar no nível “application”, não no nível “session”.

Outra coisa que poderia ser feita é adicionar à sessão um objeto que implemente HttpSessionBindingListener; quando o objeto for adicionado, acrescenta à lista que está no nível “application” (ou seja, um attribute de getServletContext) alguma informação; quando a sessão expirar, esse objeto , por implementar HttpSessionBindingListener, pode remover a informação da tal lista mencionada.

obrigado pelas dicas…
… o que eu estou fazendo no momento é colocar o objeto “usuario” na sessão dele e em uma variável do tipo ArrayList que está no nível da aplicação. A lista é atualizada com o login e logout.
Até ai tudo bem, mas o problema ocorre quando o usuário fecha o browser ou não efetua o logout corretamente, então o sistema não descobre que o usuário desconectou do sistema.

thingol, com a implementação de um objeto HttpSessionBindingListener eu consigo fazer disparar um evento que vai retirar o usuario da lista??
Testei isso q vc falou e vi que o método valueUnbound dessa interface não é disparado quando a sessão expira… e agora?

valeu