[Resolvido] Gerenciamento de escopos do spring di

3 respostas
Mr_Arthur

Simples e direto:

  • Tenho um objeto (value object) em escopo de sessão

<bean id="Cliente" class="pacote.Cliente" scope="session"> <aop:scoped-proxy/> </bean>

  • Tenho um advice (o escopo desse aqui é que eu não entendo.) que tem esse objeto (^) como dependencia.

O escopo desse Advice está como session por que foi o único que funcionou no seguinte caso:
Ao invalidar uma sessão, eu gostaria que um novo objeto Cliente fosse injetado, porém não é isso que acontece caso eu utilize escopo singleton ou até request. Se utilizar algum desses escopos, o mesmo objeto que era injetado antes ainda é injetado para um JSESSIONID diferente. Apenas o session scope funciona.

Alguém sabe o pq?

3 Respostas

Mr_Arthur

Agora seguinte,

Não sei por que diabos o Advice se comporta como um singleton, mesmo estando marcado como session.
Fiz requisição de outras máquinas e vi que é utilizado o mesmo Advice e diferentes clientes, mesmo os dois estando com session scope.
Se é pra se comportar como um session por que ele não deixa eu setar o scope (ou deixar o default, tnt faz) como um singleton logo? :frowning:

Valeu!

Mr_Arthur

Senhores,

Não há nenhum problema com as configurações acima.
Desconsiderem o post.

Muito obrigado.

p.s; acho que é de propósito, passar o dia todo quebrando a cabeça. daí ao final do dia você posta no fórum pra ver se arruma uma solução e do nada funciona.
É que nem ascender um cigarro para esperar o ônibus. Ele vai apontar na esquina quando você acabar de ascender ele. (não que eu fume é claro)

Mr_Arthur

Pessoal,

Não pode existir algum problema de concorrência com o caso não?
Um bean (proxy) de sessão injetado em um bean singleton.
Mesmo por que eu tentei setar meu advice como request scoped e ele continua como singleton… É utilizada a mesma instancia para diversas sessões.

Ou devo confiar cegamente no spring e nem me preocupar com isso?

Criado 4 de maio de 2011
Ultima resposta 5 de mai. de 2011
Respostas 3
Participantes 1