VRaptor - @SessionScoped entregando uma instância nova a cada request  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

No VRaptor, o que poderia fazer com que um componente @SessionScoped fosse instanciando a cada request, ao invés de entregar sempre o mesmo objeto daquele usuário? Em uma app de testes, baseada no blank project do vraptor, o @SessionScoped funciona bem, mas em outro projeto "maior", o comportamento parece ser como da do request scope.

O meu modelo relevante (ao menos o que eu acho ser relevante) é:



Estou usando o Spring como container.

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
bob_sponja
JavaBaby

Membro desde: 03/05/2011 23:21:06
Mensagens: 88
Offline

O objeto de qual classe está sendo instanciado a cada requisição?
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

o UserSession está mudando a cada requisição? bem estranho... na aplicação a httpSession está habilitada? tenta imprimir o request.getSession().getId() a cada requisição do mesmo usuário, e ver se está igual.

--
Caelum
www.caelum.com.br

bob_sponja
JavaBaby

Membro desde: 03/05/2011 23:21:06
Mensagens: 88
Offline

bob_sponja wrote:O objeto de qual classe está sendo instanciado a cada requisição?

Eu perguntei isso, porque a classe SessionManager está anotada somente com @Component, faltando o @SessionScoped...
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

Encontrei o problema.

Em uma determinada condição (como logout e marcar um usuário como anônimo), eu limpava HttpSession do cara, com o intuito de não deixar livro para trás.

Acontece que O VRaptor (ou Spring? não sei) grava informações vitais para o funcionamento de coisas internas na session, e eu acaba mandando isso para o lixo também.

Mais especificamente, era isso:



Acho que seria legal comentar isso na documentação do VRaptor.

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

se você registrar o listener do spring, talvez ele chame o callback mesmo se vc der o invalidate

--
Caelum
www.caelum.com.br

 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team