[RESOLVIDO] Problema com atributos na sessão

7 respostas
gilmaslima

Estou com um problemão, e queria a opnião ou sugestão de quem já passou por isso, oque acontece é o seguinte:

Em um dos sistemas que estou dando manutenção aqui na empresa (Struts 1) todas as actions estão com o escopo de sessão, e em algumas telas os dados precisam estar “vivos” por mais tempo mesmo, só que quando o usuário está usando mais de uma janela do browser ao mesmo tempo as informações ficam misturadas.

Já pensei em alterar o escopo das actions para request, mas com isso, a alteração que precisarei fazer no jsp vai ser muito grande pela forma que foi desenvolvido e pela quantidade de telas(sistema muito grande)
Outra alternativa que estou pensando é manter na session e colocar mais um atributo na session um MAP (id, objeto) e para garantir que as informações não se misturem eu passo um id como parametro de cada requisição.

Como a versão do struts que estou usando é antiga a taglib dele é um pouco limitada (oque está me dando um trabalho nas views).
A aplicação roda em um tomcat 4.

Mais um detalhe as pessoas que desnvolveram o sistema não estão mais aqui.

Aceito sugestões.

7 Respostas

drsmachado

Meu camarada, eu sugeriria fazer de novo.
Como isto é inviável, ao menos parte disso você terá de alterar

gilmaslima

Se dependesse só de mim eu faria tudo do zero, mas voltando ao assunto ainda estou vendo de que forma irei fazer.

drsmachado

A idéia de pendurar um novo objeto, guardando a sessão é válida. Seria de grande auxílio e evitaria, ao menos na teoria, a possibilidade de mistura de dados.

starkiller

Olha o que ta me parecendo é que seu problema na verdade é que tem informações que se misturam, pois algumas delas não estão em sessão e sim no contexto da aplicação. Pois quando vc abre um novo browser uma nova sessão é criada onde é criado um novo session id pra essa sessão, o que torna impossivel informações de sessões diferentes se misturarem. Já o contexo não, ele permanece enquanto a aplicação estiver rodando! Da uma olhada nisso!

gilmaslima

vlw pela dica, vou colocar um ContextAttributeListener na aplicação para ver oq q tem nele.

depois eu posto o resultado.

gilmaslima

Por incrivel que pareça não tem nada no contexto.

gilmaslima

Descobri a razão da perda de integridade das informações, algumas coisas estão gravadas no cookie do browser(puta gambi… kkk)

Obrigado pela ajuda!

Criado 24 de maio de 2011
Ultima resposta 25 de mai. de 2011
Respostas 7
Participantes 3