eu tenho um site q o usuario se loga, a sessão eh criada, tem um botao pra faze logoff td bonitinho… o problema eh qdo ele fecha o navegador ou simplismente da um reset, por exemplo!
Depois q a sessao do usuario fica invalida, eu tenho q altera um campo no meu Banco de Dados! Me falaram pra implementar o HttpSessionListener, mas como seria exatamente o código? Como ele atuaria? Estaria constantemente analisando as sessões e qdo elas se tornassem invalidas atualizaria meu BD?
o problema eh q pra atualiza-lo, eu necessito da identificação do usuario q estava logado (seu “nick”) e jah q a sessão tah inválida, como posso sabe qual usuario acabou de sair?!
Antes de mais nada, quero registrar aqui minha satisfação em entrar nessa comunidade. Espero que possamos trocar muitas idéias!
Vamos ao problema:
Criei o exemplo com a class Listener e ela funciona. No meu caso, a função dessa classe é simplesmente fechar a conexão com o BD ao terminar a sessão - utilizo uma design pattern para manter uma única conexão aberta com o BD durante toda a sessão. A minha pergunta é: será que a melhor maneira de fechar a conexão com o BD é através de um Listener? Claro que não estou utilizando pool do servidor, nem tão pouco frameworks de persistência.
qual a vantagem de deixar a conexão aberta durante td a sessão?
no meu caso, sempre qdo tenho q fazer algo no BD, crio uma nova conexão e logo depois já fecho!
[quote=“gustavoknz”]qual a vantagem de deixar a conexão aberta durante td a sessão?
no meu caso, sempre qdo tenho q fazer algo no BD, crio uma nova conexão e logo depois já fecho![/quote]
A vantagem é não ficar criando e descriando novas conexões o tempo todo!
[quote=“gustavoknz”]mas será q vale a pena implementa um Listener soh pra isso??[/quote] Tudo depende da aplicação que vc está fazendo.
Mas o que mais se usa, é um pool de conexões.