Eventos SessionListener

fala galera :smiley:
seguinte… to com um probleminha

to fazendo um site… e nele eu keria q tivessem listadas as pessoas q estao online no momento. (as que estao com sessao aberta).
entao eu usei um SessionListener e para cada sessao criada ele adiciona o Id da sessao no banco de dados… e qdo o usuario loga, ele reconhece a sessao com o id do usuario.

Enfim… isso tá funcionando perfeitamente… o problema é que… quando a sessao é encerrada, ele retira o id da sessao do banco de dados.
só que o evento SessionDestroyed só está sendo gerado com o tempo limite da sessao do servidor.

A sessao nao deveria ser terminada quando o usuario fecha o browser?? ou isso é uma configuraçao do tomcat?

alguém tem alguma ideia?? tenho q acrescentar algum codigo??

valeu galera!!

O SessionDestroyed() somente eh invocado qdo a sessao expira mesmo. Nao ha um meio “seguro” de vc conseguir alterar os dados no momento em que o browser fecha ou o usuario sai da pagina…

Vc pode tentar alguma trick usando frames, onde, no body onunload vc invoca algum window.open que chama um codigo para desregistrar a sessao…mas eh mto suscetivel a erros, de qq maneira.

Rafael

Ou…

Você pode tratar isso usando um tempo de sessão de 5min por exemplo e utilizando um sistema de cookies para que o usuário seja reconectado caso o prazo ultrapasse 30min assim você terá uma informação um pouco (no máx 5min) desatualizada, mas um pouco mais segura.

:wink:

eh…
assim q eu li a resposta pensei exatamente nisso…
mto obrigado pros 2
:smiley: