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

  FORUM HardWare.fr
  Programmation
  Java

  J2EE - Cluster et stateful session bean

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

J2EE - Cluster et stateful session bean

n°351425
darklord
You're welcome
Posté le 03-04-2003 à 13:15:12  profilanswer
 

Hello,
 
Mon problème est le suivant. J'ai un stateless session bean exposé en WebService via Apache AXIS. J'ai des clients qui envoie des informations via SOAP pdt un temps plus ou moins long (1 à 2 min)
 
J'ai définis un statefull session bean qui garde l'état d'un client particulier conneté (i.e. chaque fois qu'un client se logue je crée une instance de ce stateful SB pour ce client et je le détruit lorsque le client se délogue).
 
Mais question est, sachant que AXIS ne garde pas de session, quel mécanisme utiliser pour garder la référence de mon stateful session bean (le client renvoit son ID à chaque appel).
 
Au départ j'ai un bete singleton et une hashmap qui matche ID -> instance du bean mais on sera en cluster bientot (et donc plusieurs JVMs).
 
Quelqu'un a de la doc ou un design pattern qui traine? :jap:


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 03-04-2003 à 13:15:12  profilanswer
 

n°351523
benou
Posté le 03-04-2003 à 14:13:48  profilanswer
 

tu peux configurer Axis pour qu'il gère les sessions.  Il utilise le système des cookies web ...
 
Sinon, c'est quoi le problème de ton cluster ?

n°351555
darklord
You're welcome
Posté le 03-04-2003 à 14:42:39  profilanswer
 

benou a écrit :

tu peux configurer Axis pour qu'il gère les sessions.  Il utilise le système des cookies web ...
 
Sinon, c'est quoi le problème de ton cluster ?  


 
tu peux me filer un lien/doc/qqch stp? J'ai pas de problème de suivi de session en fait.
 
Le client appelle login -> il recoit un sessionID. Durant cette méthode login a statefull session bean est instancié pour ce client là et sa référence est mappée sur le sessionID
 
le client appelle d'autre méthode en passant son ID. Ca fonctionne très bien avec une hashmap singleton sessionID -> Bean mais lorsqu'on va etre en cluster ce fameux singleton n'en sera plus un.
 
-> Comment faire pour mapper un Id -> bean de manière temporaire de facon a ce que tt les clusters puissent y accéder. J'ai pensé à JNDI mais je ne sais pas si c une bonne idée.
 
:jap:


---------------
Just because you feel good does not make you right
n°351557
the real m​oins moins
Posté le 03-04-2003 à 14:45:37  profilanswer
 

si cluster il y a, il n'y aura de toutes façons qu'un seul webserver non?
si c'est le cas, ton singleton sera sur la jvm de ce webserver non?
donc il est ou le pb?  [:lucille]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°351574
benou
Posté le 03-04-2003 à 14:54:46  profilanswer
 

pour la doc/lien/etc, j'ai rien à te fillé : je sais juste qu'il y a un paramétrage (qui a l'époque était non documenté) à faire dans le wsdd.
J'avais appris son existence en lisant la mailing list user (tu devrais retrouver ca assez facilement sur le site : le sujet revenait souvent)
 
Et puis comme dit --, tu auras qu'un seul serveur web => pas de problème ...

n°351588
darklord
You're welcome
Posté le 03-04-2003 à 15:05:00  profilanswer
 

benou a écrit :

pour la doc/lien/etc, j'ai rien à te fillé : je sais juste qu'il y a un paramétrage (qui a l'époque était non documenté) à faire dans le wsdd.
J'avais appris son existence en lisant la mailing list user (tu devrais retrouver ca assez facilement sur le site : le sujet revenait souvent)
 
Et puis comme dit --, tu auras qu'un seul serveur web => pas de problème ...


 
ok :D
je fais un beau singleton tout pourris alors :D


Message édité par darklord le 03-04-2003 à 15:05:14

---------------
Just because you feel good does not make you right
n°351592
benou
Posté le 03-04-2003 à 15:08:40  profilanswer
 

DarkLord a écrit :


ok :D
je fais un beau singleton tout pourris alors :D


 :non: pas de static à 2 balles !
 
ServletContext rulez  :o

n°351636
darklord
You're welcome
Posté le 03-04-2003 à 15:37:31  profilanswer
 

benou a écrit :


 :non: pas de static à 2 balles !
 
ServletContext rulez  :o  


 
j'ai pas de servlet :o  
C'est du SOAP et le client c'est un Palm :o


---------------
Just because you feel good does not make you right
n°351642
noldor
Rockn'roll
Posté le 03-04-2003 à 15:38:52  profilanswer
 

benou a écrit :


 :non: pas de static à 2 balles !
 
ServletContext rulez  :o  

pourquoi ? c est pas bien en static ?

n°351645
benou
Posté le 03-04-2003 à 15:40:24  profilanswer
 

bha oui, je suis con ...  :sweat:  
 
ils ont toujours pas fait de gestion de cycle de vie et de Context à la servlet, Axis ?  

mood
Publicité
Posté le 03-04-2003 à 15:40:24  profilanswer
 

n°351647
benou
Posté le 03-04-2003 à 15:41:12  profilanswer
 

noldor a écrit :

pourquoi ? c est pas bien en static ?


j'aime pô les statics !  :o  
 
enfin bon, là c'est vrai que je crois que tu peux difficilement faire autrement... axis sux !

n°351648
darklord
You're welcome
Posté le 03-04-2003 à 15:42:49  profilanswer
 

benou a écrit :


axis sux !  


 
surtout que lorsque tu veux redeployer ton WS tu dois redémarrer JBoss. C'est suapir [:dawa]


Message édité par darklord le 03-04-2003 à 15:43:02

---------------
Just because you feel good does not make you right
n°352026
the real m​oins moins
Posté le 03-04-2003 à 20:47:05  profilanswer
 

benou a écrit :

bha oui, je suis con ...  :sweat:  
 
ils ont toujours pas fait de gestion de cycle de vie et de Context à la servlet, Axis ?  
 

si j'ai bien suivi, axis genere une servlet pour chaque webservice que tu deploies!? Ou bien plutot, ils ont une servlet qui peut servir plusieurs ws, ... mais euh jsais plus quand il y a plusieurs servlets. bref. Y'a ptet betement moyen d'etendre ou de remplacer cette servlet...
Apres tout elle doit etre mega simple et deleguer la plupart des trucs à ...à...à autre chose.. :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°352032
benou
Posté le 03-04-2003 à 21:00:53  profilanswer
 

si je me trompe pas, y a une seule servlet ...
faudrait vérifier dans le web.xml de axis.
 
mais bon, de toute façon, depuis l'objet qui implémente le WS, y a pas moyen d'accéder à l'objet Servlet ...


---------------
ma vie, mon oeuvre - HomePlayer
n°352035
the real m​oins moins
Posté le 03-04-2003 à 21:04:41  profilanswer
 

benou a écrit :

si je me trompe pas, y a une seule servlet ...
faudrait vérifier dans le web.xml de axis.
 
mais bon, de toute façon, depuis l'objet qui implémente le WS, y a pas moyen d'accéder à l'objet Servlet ...

oui mais moi je pensais à l'inverse: redefinir la servlet d'axis, tout en continuant a utiliser le meme "objet qui implemente le WS"


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°352259
darklord
You're welcome
Posté le 04-04-2003 à 08:58:12  profilanswer
 

the real moins moins a écrit :

oui mais moi je pensais à l'inverse: redefinir la servlet d'axis, tout en continuant a utiliser le meme "objet qui implemente le WS"


ca serait une bonne idée ça [:dawa]


Message édité par darklord le 04-04-2003 à 08:58:31

---------------
Just because you feel good does not make you right
n°761865
julienv
Posté le 13-06-2004 à 17:09:05  profilanswer
 

une solution est d utiliser un cache distribue pour manager toi meme tes sessions dans lequel tu met tes ID de session avec un simple HashMap pour garder les infos plutot que d utiliser un statefull session bean. (avec JBossCache par exemple) Dans ce cas le cache distribue l etat de la session sur le cluster.
 
un solution est d utiliser la base de donnee comme memoire commune a tous les noeuds de ton cluster. une simple table ID -> HashMap serializee. Dans ce cas il faut soit meme implementer un garbage collection des vieilles sessions en meme temps.

n°761990
darklord
You're welcome
Posté le 13-06-2004 à 19:49:35  profilanswer
 

pas con ca tiens [:cupra]


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

  J2EE - Cluster et stateful session bean

 

Sujets relatifs
variables de session[PHP] Session : ca veut dire quoi ces messages d'erreur ?
[php] session : pb utilisation avec des "objets"Trop de variables de session = problème ?
[Session] Passage de l'id de session de pages en pages[PHP] Session
[Java] Session à null à cause d'un proxysession php: verification par une fonction au début de chaque page?
Realiser son propre système de session.asp : suivit de session sans cooky
Plus de sujets relatifs à : J2EE - Cluster et stateful session bean


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