Bonjour
Je voudrais savoir si il existe au dessus du scope application.
En faite je voudrais partager une session entre deux webProject qui sont tous les deux dans le meme EAR
est ce possible??
:king: :yaisse2:
Version imprimable
Bonjour
Je voudrais savoir si il existe au dessus du scope application.
En faite je voudrais partager une session entre deux webProject qui sont tous les deux dans le meme EAR
est ce possible??
:king: :yaisse2:
Tu peux passer par une base de données ou encore la sérialisation. Mais il n'y a pas de scope au-dessus du context.
Le probleme est que mes deux webapps communique via WSRP et que je n'arrive pas a partager la session entre les deux
Quelqu'un sait le faire?
Salut,
si elles sont dans le même EAR, elles sont dans la même JVM, on peut p-e jouer là dessus.
Tu peux faire une Classe singleton, qui stocke des attributs dans une Map pour créer ton propre contexte.
il faut que cette classe soit chargée par le même ClassLoader => réglage au niveau des classpath server ou des règles de chargement de webapp.
En dernier recourt je ferai cette solution car j'ai vue que l'on pouvait se passer une session entre porducer et consummer (avec WSRP) mais je ne trouve pas encore d'exemple !!
Je ne comprends pas très bien ce que tu entends par se passer la session?
Si tu fais du WSRP, et que tu veux communiquer entre portlet, la seule manière est d'utiliser IPC (InterCommunication portlet). Dans tous les cas, l'implémentation va dependre de ton type de portail.
J'utilise BEA comme portail
quelqu'un a un exemple pour utiliser IPC??
Il suffit donc d'aller chercher sur la doc de BEA.
http://blog.thej2eestruggle.com/2007...r-portlet.html
http://e-docs.bea.com/workshop/docs8...kipReload=true
Oui merci pour ces liens je les ai deja lu mais j'ai pas trouvé d'exemple qui montre avec deux web project differents au sein d'un meme EAR?
Je ne vois pas ce que cela change?
As-tu bien saisie l'utilité de WSRP?
Cela veut dire en gros que dans ton portail fédéré (ton premier web project) tu vas appeler en remote un portlet de ton portail local (ton deuxieme web project). Si tu utilises les API de bea pour setter ou faire un get sur les attributs tu les récupéreras même si au final les projets sont différents.
Ben oui j'ai compris ce que faisait WSRP car j'ai deja plusieurs consumer/ producer .
Mais mon pb est que la je veux passer la session entre mon producer et mon consumer mais vue que mon consumer et mon producer ne sont pas sur le meme webproject les getters et setter ne marche pas
Tu ne pourras pas passer la session entiere.
Il faut passer des attributs particuliers. La contrainte est qu'il faut que tes objets soit serializable (de la même maniere que pour les objs en session).
As tu regardé le lien que je t'ai envoyé pour faire un "Firing the event" et "Handling the event" ?
oui j'ai regarder mais ce n'est pas un d'événement que je veux passer?
Si ma session est serialisable sa passe?
Merci pour le temps
Non ca n'est pas une bonne idée.
Les objets qui transitent dans la trame WSRP transitent via SOAP donc c'est très verbeux et très lourd.
Donc je te conseilles vivement de ne transmettre que le stricte minimum.
Dans tous les cas, si ton développement est fait correctement, le métier d'une portlet doit être spécifique et cadré par cette portlet. Le point d'entré doit donc être tout au plus un bean simple.
Voici un tutorial complet sur la démarche à suivre :
http://e-docs.bea.com/wlp/docs81/ipc...nt.html#998932
Cela ou le bas blesse c'est que j'hérite d'un code tres sale donc j'essaye de faire comme je peux avec le temps que j'ai!!
mais je vais essayer de passer le minimum merci
Merci pour le tuto je vais essayer tout cela