[JVM] question JVM/context

question JVM/context [JVM] - Java - Programmation

Marsh Posté le 04-12-2003 à 19:08:23    

Salut,  
 
il paraît que sous Websphere, pour améliorer les perfs, il est possible de faire tourner une appli sous plusieurs JVM (à priori le serveur créé des JVM "à la volée" si le besoin en charge s'en fait sentir).
 
Mon soucis est le suivant :
j'ai besoin de gérer un lock applicatif. Pour se faire, j'ai l'intention de stocker dans le ServletContext une HashMap contenant mes objets lockés. Seulement on me dit qu'il est possible que le ServletContext ne soit pas commun à toutes les JVM créées par le serveur, par conséquent mon lock ne marcherait pas.
Qu'en est-il : en cas de "multi JVM" le ServletContext est-il commun à toutes ?  
Si non, comment faire pour partager des infos entre toutes les JVM ?  
 
Quelqu'un peut-il m'expliquer la relation entre la JVM et le ServletContext ? Qui "contient" qui ?
 
Merci de votre aide.
Nestor.

Reply

Marsh Posté le 04-12-2003 à 19:08:23   

Reply

Marsh Posté le 05-12-2003 à 15:23:07    

le servletContext est unique à ton moteur de servlet, qui lui meme ne peut à priori etre executé que dans une vm. si ws, je ne sais comment, crée plusieurs vm (je vois pas en quoi ça ameliorerait les perfs mais bref), je suppose que le problème est le meme qu'en "vrai" clustering: il faut voir du coté de la config de ton moteur de servlet pour qu'il fonctionne en cluster (replique les context, gere les sessions etc)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 07-12-2003 à 20:36:32    

En fait, j'ai eu la confirmation de ce que tu m'as écris : à chaque JVM, un context. Pour l'instant je n'ai pas trouvé de possibilité de partager des infos entre les différents contexts.  
 
Je suis comme toi, je ne sais pas en quoi faire du "multi" JVM améliore la résistance à la charge.
 
Pour trancher et parce que je dois décider rapidement, je vais être obligé de faire un lock au niveau de la db :cry: .
Je voudrais bien savoir comment ça se passe avec les EJB qui sont normalement sont capables de gérer ces soucis de lock.
 
Merci de ta participation en tout cas.
Nestor.

Reply

Marsh Posté le 07-12-2003 à 20:39:48    

ben essaie de savoir d'ou vient ce "il parait", possiblement un malentendu.
regarde du coté du clustering, dans la doc de websphere, j'imagine qu'ils mentionnent le sujet (à moins que les contextes ne soient pas partagés, auquel cas ils mettront ça sous silence)  
ps: meme en clustering, pas convaincu que les perfs soient meilleures s'il faut partager les contxt et que t'as des objets en peu lourd en contexte; à moins qu'ils fassent de la copie incrémentale, ce dont je doute :o
(j'en doute parce que jboss vont le faire et ils se targuent d'etre les premiers)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 10-12-2003 à 22:21:31    

t'es pas obligé de faire un cluster hein :o tu peux avoir un mécanisme de load balancer en front end qui dispatch tes requetes suivant la charge (sachant que tu peux le configurer pour que les requetes d'un meme client ait tt le temps sur la meme machine par exemple)

Reply

Marsh Posté le 10-12-2003 à 22:28:07    

T'es sur qu'il crée plusieurs vm, et pas simplement plusieurs thread qui executent ton appli en parallèle ?


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 10-12-2003 à 22:36:36    

R3g a écrit :

T'es sur qu'il crée plusieurs vm, et pas simplement plusieurs thread qui executent ton appli en parallèle ?


 
oui aussi. Le coup des JVM là ca m'étonnerait. J'ai pas fait vraiment gaffe :jap:

Reply

Marsh Posté le 10-12-2003 à 23:46:58    

Je pense que c'est lancer des JVM sur d'autres machines, sinon ca a aucun intérêt ... au contraire !


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-12-2003 à 10:06:24    

benou a écrit :

Je pense que c'est lancer des JVM sur d'autres machines, sinon ca a aucun intérêt ... au contraire !  


 
oui enfin sauf si tu veux utiliser plus de 2Go de RAM. Mais bon je pense pas que ce soit son cas :D


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed