Posts tagged: date

Problème de concurrence avec SimpleDateFormat

La classe DateUtil utilisée dans mon projet possède de nombreuse méthodes, certaines permettent de créer des identifiants basés sur les dates ensuite insérés en base de données. L’objet simpleDateFormat qui permet le parsage de ces dates est définit comme étant « public static final ».

Dans la plupart des cas, pas de problème, la date est bien parsée et l’identifiant est crée conformément à ce que l’on attends. Néanmoins, dans de rares cas, il est possible que cela se passe beaucoup moins bien. En effet, la classe SimpleDateFormat n’est pas synchronisée. Si 2 threads essaient en même temps d’utiliser cette instance pour un parsage ou un formatage, le résultat est aléatoire.

La classe DateUtil a été simplifiée à l’extrême.

Read more »