2010-10-30 16 views
0

J'aime vraiment utiliser des haricots annotés de stéréotypes printaniers dans les applis MVC du printemps et je voudrais utiliser les annotations de portée Spring au maximum. Plus besoin de bidouiller dans HttpServletRequest ou sa session. Une chose n'est pas vraiment claire pour moi et peut-être que quelqu'un pourrait me fournir un aperçu ou une explication sur la façon de gérer cela. J'ai un cache mis en place un haricot de printemps singleton. Il met en cache plusieurs objets d'un certain type "Foo". Foo est défini comme un bean de session à travers les annotations. Le comportement prévu est que chaque nouvelle session possède son propre "Foo" instance. Comment déplacer l'état de l'une des instances "foo" cahced à la session Foo portée (copie, clone ou affectation simple)? Je voudrais accomplir le même comportement de stocker une instance de Foo à partir du cache dans la session disponible dans un HttpSession, mais cela à travers les objets de la session de printemps. L'objectif est de supprimer tout le code standard de déplacement vers une session HttpSession et de récupération à partir d'une session HttpSession.Comment modifier l'état de la session de printemps/demander des beans de portée?

l'exemple de la façon dont je définis Foo:

@Component 
@Scope(value="session",proxyMode=ScopedProxyMode.TARGET_CLASS) 
public class Foo extends BaseEntity { 
    //Some stuff done here 
    private Long id; 

} 

Répondre

0

Ok, alors je résolu ce problème en déclarant un bean session dans laquelle I stocké l'élément sélectionné à partir du cache .... C'était vraiment facile à résoudre.