[RESOLVIDO] VRaptor + SessionScoped + Executar Ação quando uma Session for destruida

3 respostas
guivirtuoso

Olá Pessoal,

A pergunta pode ser meio besta, mas gostaria de saber se tenho como interceptar o momento em que uma Classe anotada com @SessionScoped está sendo destruida.

O propósito é saber quais usuários do sistema estão efetivamente ON-LINE. E não apenas com o Login Efetuado.

Até porque a pessoa pode fazer o Login (É criado o registro de que ela está ON-LINE), e ela simplesmente pode fechar o navegador.
Sem clicar em “SAIR”, por exemplo.

Então, neste momento em que a sessão dela está sendo destruida, eu gostaria de registrar que ela saiu.

Obviamente no momento do LOGIN, vou guardar o ID da Session ou algo q eu possa identificar depois p/ fazer a saída.

Mas o foco agora é saber se tenho como interceptar este momento. O momento em que a sessão é distruida. Nem que fosse só p/ fazer um System.out.println("A sessão foi destruída");
Alguem poderia dar uma luz? :smiley:

3 Respostas

Rafael_Guerreiro

Você está usando Spring como conteiner do VRaptor?

Vai na sua classe anotada com @SessionScoped e @Component e cria um método anotado com @PreDestroy.
exemplo:

@PreDestroy public void destroy(){ System.out.println("A sessão foi destruída"); }

G

Basta criar um métod na classe SessionScoped e anota-lo com @PreDestroy. Neste caso sempre que a classe for removida da sessão, ele será chamado.

guivirtuoso

Vlw Rapaziada…

Show de Bola! :slight_smile:

Criado 9 de abril de 2012
Ultima resposta 9 de abr. de 2012
Respostas 3
Participantes 3