2010-10-26 5 views
2

J'utilise Seam 2.2.1.CR1 sur Weblogic 10.3.2 et JSF 1.2.Seam & plusieurs guerres: Contexts.getSessionContext() est null dans l'autre guerre

J'ai une application d'oreille avec 2 fichiers war. La première guerre est une application JSF/Seam, la seconde a JSF/Seam, mais aussi quelques pages Servlets.

Quand je tournerai les choses dans le contexte de la session dans la première application web:

Contexts.getSessionContext().set("pimUser", pimUser); 

je peux injecter normalement dans les composants Seam dans la deuxième guerre. Cependant, si je tente d'obtenir le pimUser outjected d'un Servlet, je ne peux pas y accéder:

PimUser user1 = (PimUser) Contexts.getSessionContext().get("pimUser"); 

Le Contexts.getSessionContext() est nulle. J'ai remarqué que la Javadoc du

org.jboss.seam.contexts.Contexts 

dit:

Provides access to the current contexts associated with the thread. 

Auteur (s): Gavin King Thomas Heute

Est-ce que cela veut dire que les 2 fichiers de guerre sont censés avoir différents Contexts.getSessionScope()?

je trouve une façon qui ne me permet d'y accéder par la session comme ceci:

PimUser user2 = (PimUser) httpRequest.getSession().getAttribute("pimUser"); 

Cette dernière façon, ne semble toutefois pas être correcte. Je voudrais accéder au contexte de la session Seam à travers Seam.

J'ai trouvé qu'il y avait (?) Problème avec les applications Seam et multi-war (link), cependant, elles sont supposées avoir été résolues par 2.2.0.GA.

+1

JEE 5 Le didacticiel indique: Vous pouvez associer des attributs à valeur d'objet à une session par nom. Ces attributs sont accessibles par tout composant Web ** appartenant au même contexte Web ** et gère une requête faisant partie de la même session. Les deux guerres (Vous pouvez considérer la guerre comme un contexte Web) ne partagent pas leurs contextes. –

Répondre

Questions connexes