Bonjour,
j'ai un processus linéaire comme suit :
Mon soucis est que dans le cadre d'utilisation concurrente j'obtiens le log suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 [start] lock (identifiant) (identifiant utilisable une seule fois pour éviter les accès concurrents) log (debut) process(identifiant) log (fin) libérationLock(identifiant) [fin] On ne peut lancer le processus si le lock est mis sur l'identifiant.
log -> debut
log -> process 1
log -> debut
log -> process 1
log -> fin
log -> fin
Je constate d'après le log qu'il y aurait un chevauchement de processus.
J'ai retourné le code dans tous les sens. Cela est impossible, le processus ne peut être lancé qu'une seule fois par identifiant. Et il ne peut être lancé tant que le processus pour un identifiant donné n'est pas terminé
Est il possible que cela provienne de la configuration de log4j qui ne serait pas synchrone ?
Du coup il y aurait un décalage entre le log et la réalité ?
Il m'est très difficile de reproduire l'erreur car les appels sont exécutés à la milliseconde près.
merci beaucoup.
Partager