Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1179 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Spring : partage de bean stateful

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Spring : partage de bean stateful

n°1937274
Barnabe43
Posté le 03-11-2009 à 14:45:50  profilanswer
 

Salut à tous  :hello: ,
 
Bon je viens de me confronter à un petit problème avec spring :
 
J'ai 2 beans de base déclarés dans le fichier .xml. Ils sont donc stateless par défaut (singleton=true)
J'ai un autre bean de base statefull (singleton=false)
 
Dans chacun des beans stateless j'ai une méthode callback appelé à un instant X, disons methodeA pour le bean stateless A et methodB pour le bean statelessB.
Je sais que ds l'ordre des appels, il s'agit de :
 
1) Appel de methodeA à l'intant n
2) Appel de methodeB à l'intant n+1
3) Appel de methodeA à l'intant n+2
 
methodeA et methodeB se servent du même bean stateful (même instance).
Comment faire pour appeler cette même instance au sein de chacun des méthodes ? [:gratgrat]


Message édité par Barnabe43 le 03-11-2009 à 14:46:38

---------------
Asus P5Q Pro | C2D E8400 3GHz@3.7GHz | Noctua NH-C12P | Extreme Patriot 2x2Go  DDR2-PC8500 | Inno 3D GeForce GTX 260 | WD Raptor 74Go 8Mo | Raid0 Seagate Barracuda 7200.12 500Go
mood
Publicité
Posté le 03-11-2009 à 14:45:50  profilanswer
 

n°1937383
krakraille
Posté le 03-11-2009 à 19:45:18  profilanswer
 

Une petite précision : singleton=true (à remplacer maintenant par scope=singleton, qui est d'ailleurs le scope par défaut) signifie simplement que Spring crée une unique instance de ce bean pour chaque JVM. L'aspect statefull ou stateless, c'est ton code qui le décide : si tu mets de l'état dans un bean 'singleton Spring', l'état sera partagé si ce bean est injecté. Au sens strict du terme, ce bean est statefull :)
 
Sinon :

  • soit tu customise la BeanFactory Spring, pour faire du bricolage à la création/injection des beans (org.springframework.beans.factory.support.*)
  • soit si tes callbacks sont gérées par Spring, tu peux passer par une factory qui regarde la classe appelante (une classe Spring, genre SimpleInstantiationStrategy) et renvoyer seulement dans ce cas la la même instance, et dans les autres cas une nouvelle instance créée. Ca marche seulement si ton bean à état n'est pas injecté ailleurs.


J'aurais plus de temps pour une réponse approfondie demain.
 


---------------
"Don't look for a reason, look for a way out" -  Cube

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Spring : partage de bean stateful

 

Sujets relatifs
tomcat + spring form taglib[Résolu][ASP.NET][C#] Heritage et partage de variable
Spring : Injection dépendance au démarrageCannot resolve file j_spring_security_check
Spring security[Spring Security] Authentification avec un Web service
[Spring 2.5] Passer les données d'un formulaire au controleurSpring Security Login Role
Spring Web MVC et Extjs[Résolu] [JSF] Managed Bean contenant d'autres pojos
Plus de sujets relatifs à : Spring : partage de bean stateful


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR