Synchronized en Java servlets

Synchronized en Java servlets - Java - Programmation

Marsh Posté le 07-05-2002 à 10:14:05    

Est qu'il y a moyen de faire un "synchronized" qui soit pour toutes les servlets et non pas pour seulement la classe  ? par exemple j'ai plusieurs servlets qui travaillent sur une meme table mysql et je veut que elle ne fassent pas leurs requetes en même temps...

Reply

Marsh Posté le 07-05-2002 à 10:14:05   

Reply

Marsh Posté le 07-05-2002 à 10:16:10    

en deplaçant ce "travail sur une meme table mysql" dans une classe, hors des servlets donc, qui elle sera synchronized?


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-05-2002 à 10:17:59    

ou bien en configurant ta base MySQL pour les accès concurent mais je ne suis pas sur que ce soit possible.
 
Sinon l'idée de Greg est intéressante. Et en plus tu centralises les opérations à un même endroit.


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

Marsh Posté le 07-05-2002 à 10:19:19    

DarkLord a écrit a écrit :

Sinon l'idée de Greg est intéressante. Et en plus tu centralises les opérations à un même endroit.  




 :love:  :love:


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-05-2002 à 10:20:07    

greg@freestarthu a écrit a écrit :

en deplaçant ce "travail sur une meme table mysql" dans une classe, hors des servlets donc, qui elle sera synchronized?  



le pb c'est que c'est des trucs qui seraient assez lourd a deplacer...
 
sinon je voyai le moyen de mettre un flag à la main sur la table "occupée" mais c'est du bricolage

Reply

Marsh Posté le 07-05-2002 à 10:22:23    

si c'est lourd à déplacer c'est que tu as bricolé ton code aussi ;) Et puis il y a des outils pour ça
 
IntelliJ  :love:


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

Marsh Posté le 07-05-2002 à 10:25:01    

DarkLord a écrit a écrit :

si c'est lourd à déplacer c'est que tu as bricolé ton code aussi ;) Et puis il y a des outils pour ça
 
IntelliJ  :love:  



:/ oui mais bon je préfère éviter le deplacement...
 
sinon on m'a parlé de lock table en mysql c'est bien ?

Reply

Marsh Posté le 07-05-2002 à 11:39:50    

Utilise des transactions en passant par des Procedures stockées ca permettra de faire des lock sur les tables sur lesquelles tu travaille !! :)

Reply

Marsh Posté le 07-05-2002 à 11:40:36    

DaRoD a écrit a écrit :

Utilise des transactions en passant par des Procedures stockées ca permettra de faire des lock sur les tables sur lesquelles tu travaille !! :)  




 
ça existe pas avec mysql :)


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-05-2002 à 11:45:19    

Ppppfffff ! :) Désolé ! :) j'ai rien dit alors ! :)

Reply

Marsh Posté le 07-05-2002 à 11:45:19   

Reply

Marsh Posté le 07-05-2002 à 15:46:49    

le truc le plus simple c'est ca :
 
tu créés une class verrou :
 
public class Verrou {
   pubblic static final Verrou defaultVerrou = new Verrou();
}
 
ensuite, tu entoures tous tes accès à la base de donnée dans chacune de tes servlets par un bloc synchronized sur le verrou :
 
...
   synchronized (Verrou.defaultVerrou) {
      ...
      // le code d'acès a la base de donnée
      ...
   }
...
 
et voilou.


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

Marsh Posté le 07-05-2002 à 17:27:38    

benou a écrit a écrit :

le truc le plus simple c'est ca :
 
tu créés une class verrou :
 
public class Verrou {
   pubblic static final Verrou defaultVerrou = new Verrou();
}
 
ensuite, tu entoures tous tes accès à la base de donnée dans chacune de tes servlets par un bloc synchronized sur le verrou :
 
...
   synchronized (Verrou.defaultVerrou) {
      ...
      // le code d'acès a la base de donnée
      ...
   }
...
 
et voilou.  



pas con :jap: je vais y penser

Reply

Sujets relatifs:

Leave a Replay

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