Dúvida com o escopo do Spring

2 respostas
F

Pessoal, estou fazendo um aplicação web com Spring, Hibernate, JSF e Facelets;
No MB, estou usando o escopo do Spring como session:

@Controller(“Controller”)
@Scope(“session”)

só q ouvi vários relatos sobre esse tipo de escopo, e que o melhor era se fosse request, pois bem, mudei pra request, só q minha aplicação não funcionou mais direito;

Tenho uma tela de consulta, onde quando o usuário clica numa linha do datatable ele é jogado para o form com os dados, mas, só funciona com o @Scope(“session”) se colocar request, quando clico não acontece nada nem dá erro, é como se ficasse congelado, não importa se no faces-config.xml está session ou request, então a pergunta:

1º o escopo session do Spring, tem a mesma finalidade do escopo session do jsf, guardando tudo na sessão, inclusive a arvore de componentes, ou simplesmente guarda as dependências necessárias para que possa injetar quando preciso? se sim, tem algum problema se deixar o escopo session no spring, já q posso colocar o escopo request no faces-config e a aplicação funciona?

2º se o escopo session do Spring pesa, o que fazer para minha aplicação funcionar quando colocar request?

Obrigado.

2 Respostas

F

Ajuda ai galera

F

Vendo algumas matérias sobre o problema, vi q existem 3 possibilidades:

O uso do keepalive;

O uso do saveState;

e o uso do escopo de conversação;

Resolvi 1º tentar o keepalive, pois é o que se aconselha quando já se usa o richfaces; no MB coloquei @keepalive(ajaxonly=true), ai então ele começou a mostrar mensagens de NoSerializableException, então implementei serializable no MB e no DaoGenericoImp, funcionou, mas a alegria de pobre dura pouco, os botões dentro do datatable estão funcionando, só q hj verifiquei um efeito colateral, não consigo mais salvar um registro, ele faz tudo como se estivesse salvando, não dá erro de nada, mas o registro não vai pra tabela, e agora? Alguma sugestão?
Estou querendo esgotar as possibilidade com o keepalive antes de tentar outra opção.

Obrigado

Criado 11 de junho de 2010
Ultima resposta 19 de jun. de 2010
Respostas 2
Participantes 1