Como migrar a sessao do usurio para uma outra aplicacao?

6 respostas
deniswsrosa

Salve galera…
seguinte… existe no sistema q estou desenvolvendo duas aplicacoes distintas, q em certo ponto permitem que o usuario migre de uma para a outra, sendo q cada uma esta em um war diferente ( claro!!!), a minha duvida 'e como trocar de aplicacao mantendo a mesma sessao??? obs: levando em consideracao que podem estar rodando em jvms distintas

vlws!!!11

6 Respostas

T

Em JVMs distintas? Serialize o que você puder (talvez em banco :stuck_out_tongue: ), e na segunda aplicação leia os dados do banco. Muito nojento.

A

Eu acho que nao tem como vc fazer isso nao velho, mas sei la, de vez em quando tudo pode. Vc pode tb guardar seu objeto na sessao e passar para outra aplicacao via socket sei la, ou armazenar os dados dessa em um arquivo xml por exemplo, e remonta o objeto do outro lado. Com xstream vc faz isso muito rapido.

Alberto

deniswsrosa

thingol:
Em JVMs distintas? Serialize o que você puder (talvez em banco :stuck_out_tongue: ), e na segunda aplicação leia os dados do banco. Muito nojento.

daria pra fazer via RMI naum daria??? tipo usando ejb???

T

Esse tipo de coisa depende horrores do ambiente em que você está, já que não é previsto pela especificação J2EE.

Veja com o fornecedor de seu ambiente (IBM Websphere? BEA Weblogic? Sun Java System Application Server? ) se existe alguma coisa que faça isso por você sem depender de banco ou outras coisas nojentas (tais como pegar o jsessionid, copiá-lo para a URL que envia a primeira aplicação para a segunda, e inventar alguma coisa em cima dele. A propósito, herdar o jsessionid acho que não vale para transferir de uma aplicação para outra.)

marcelo_mococa

se vc estiver usando o WebSphere, coloque os dois projetos dentro do mesmo EAR. Depois vai nas configurações do ear e tem uma opção lá pra vc compartilhar a sessao para todos os war.

H

Do pouco q eu conheço de Java parece q usar XML é o mais portável.

A aplicação de origem gera um XML com todos os dados importantes e dispobiliza pra todo mundo (tipo http://www.dominio.com/dados.xml) e redireciona pra próxima aplicação passando essa url. Aí a aplicação tem um servlet só pra receber esse request, pega a url, faz download do XML e converte tudo em dados de novo.

Como fazer esse redirecionamento eu naum sei. Forward via dispatcher naum dá pq é aplicação diferente. Até onde eu sei com o sendRedirect o browse naum passa nem os parâmetros originais da requisição, muito menos redirecionar parâmetros novos.
E isso tudo ia ter q ser feito pra suportar vários usuários usando as 2 aplicações ao mesmo tempo…

Criado 29 de maio de 2006
Ultima resposta 30 de mai. de 2006
Respostas 6
Participantes 5