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

 


Dernière réponse
Sujet : [Java] Problème de synchronisation sur des servlets.
AirBg Je reformule ma question, faut il faire quelque chose de spécial avec l'objet HttpServletRequest pour éviter des problèmes de synchro ou des enlacements de données passées en parametre GET ?

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
AirBg Je reformule ma question, faut il faire quelque chose de spécial avec l'objet HttpServletRequest pour éviter des problèmes de synchro ou des enlacements de données passées en parametre GET ?
AirBg up!
 
à l'aide :)
AirBg up!
AirBg Ok je vais essayer ca.
 
Pour info je fais du doGet.
therier Si tu veux être sûr que ce n'est pas une erreur de traitement dans ton doPost, 'synchronize' le ...
 
public void doPost(...){
 
synchronized(lockObject){
//une trace ici
...
//une trace là
}
 
...
 
static Object lockObject = new Object();
 
}
 
Normalement du devrais avoir:
 
//une trace ici 1
...
//une trace là 1
 
...
 
//une trace ici 2
...
//une trace là 2
 
...
 
 
si tu as ça, c'est que ce n'est pas un problême du au multithreading.
AirBg C'est pas évident ca, car les fichiers écrits sont la copie des configurations des routeurs. je n'écris absolument rien d'autre dessus sinon au rechargement il y aurait des erreurs.
therier Tu pourrais peut être tracer tes appels à l'ecriture dans le fichier pour voir quel servlet ecrit dans quel fichier.
AirBg Il n'y a en effet des attributs statiques mais déclarés FINAL.
Ils ne sont pas du tout à l'origine des dysfonctionnements...
 
Que faire ? aaarrrrgggg
therier Normalement, une instance de ton servlet est crée par sollicitation.
Peut être ton problême provient il d'un partage intempestif d'infos entre tes servlet, c'est à dire d'un 'static' malheureux?
AirBg Hello,
 
j'ai ecrit une servlet qui sert à se connecter sur un routeur, et qui sauvegarde sa config sur un serveur TFTP.
en paramètres (POST) je lui passe l'IP du routeur et le nom du fichier pour la sauvegarde comme suit
 
"http://15.129.22.198:8080/servlet/SaveServlet?ip=15.129.22.201&file=" + _file + "/r1-confg"
 
le problème est que j'appelle cette servlet 8 fois en parallèle, car j'ai 8 routeurs identiques et pour un gain de temps. Donc je passe en paramètre 8 IP différentes et 8 noms de fichiers différents.
 
ex :
 
IP 15.129.22.201 --> fichier r1-confg
   15.129.22.202 --> fichier r2-confg
   ...
   15.129.22.208 --> fichier r8-confg
 
Je suis confronté à un problème de "croisement" de données. En effet, par exemple, j'ai la config du routeur 2 sauvegardé dans le fichier r3-confg au lieu de r2-confg !
 
Que faudrait-il que je fasse ?
 
Sachant que ce sont des threads qui appellent la servlet, j'ai mis une fonction dans ma classe servlet qui est synchronized.
 
Merci de votre aide, c'est hyper urgent.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)