Bonjour,

Voici mon contexte d'application :

Application J2EE sous Websphère avec :
- Struts pour la présentation
- Spring / Hibernate pour le métier
- Découpage en couche : Business Service et DAO

L'application tourne dans un contexte multi-utilisateurs. De ce fait, je souhaite avoir un contexte unique persistant pour chaque utilisateur contenant les informations propres à chaque utilisateur.

Du côté présentation, pas de problème. Je mets mon contexte en session :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
request.getSession().setAttribute( "Contexte", contexte );
Le problème se pose du côté métier. Je n'arrive pas à avoir d'objet unique accessible partout dans le métier...

Mon premier essai consistait à stocker mon contexte dans une map multi-thread avec le Thread concerné comme clé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
maMap.get( Thread.currentThread() );
Problème : Avec Hibernate plusieurs Thread peuvent être exécutés pour une transaction... Je ne peux donc pas récupéré mon contexte dans certains cas !

Mon 2è essai s'orientait sur un singleton avec variable statique... Problème : Le singleton est unique pour tous les utilisateurs !

Bref, je suis perdu ! Je sais qu'il doit y avoir un moyen de faire ça sans avoir à passer mon contexte en paramètre de toutes mes méthodes métier mais je ne sais pas comment !!
Peut-être qu'avec Spring, il y aurait un moyen ?

Merci d'avance à tous pour votre aide...