oi pessoal!
seguinte, antigamente quando eu fazia tudo com servlet e jsp, eu tinha um recurso mto interessante na minha aplicação, um monitor de usuarios logados e no qual tambem era possivel enviar mensagens para eles. os segredos eram tres coisas simples:
-um singleton armazenando os dados da sessao de todos os usuarios
-um listener de session no tomcat pegando todos os dados da sessao dos usuarios de
acordo com os eventos, criacao, atualizacao e fim de sessao e colocando ou retirando do singleton
-um ajax que chamava uma determinada servlet para puxar as mensagens do servidor de 5 em 5 segundos
até aí tudo bem, no Vraptor3 da para fazer com os beans @SessionContext e @ApplicationContext. o problema seria detectar quando a sessao expira. nos listeners do tomcat da para saber, tem um metodo que eh invocado quando isto acontece, pois nao da pra contar sempre com o usuario clicando no botao “Sair” da aplicação, nem com a implementação de um pois vamos supor que o computador da pessoa travou. neste caso ficaria no monitor de usuarios até um reload total da aplicação.
Quanto o tempo da sessao acaba, como faço para saber no Vraptor3?
Será que o bean anotado @SessionContext terá o seu metodo finalize() chamado?
Alquem tem alguma dica?
Ou experiencia para compartilhar?