java.text.SimpleDateFormat n'est pas thread safe
dpiraud opened this issue · 5 comments
Le script gatling utilise une seule instance de java.text.SimpleDateFormat pour tous les threads.
Pendant l’exécution, en particulier pour la partie calcul des dates pour les demandes de synthèses intermédiaires, j'ai des effets de bord.
Sur mon poste, j'ai corrigé en créant une instance à chaque utilisation.
Doc:
https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally.
==>Confirmez-vous mon analyse? Si oui, je ne sais pas ce qui sera le plus propre: Instance par thread, nouvelle instance à chaque utilisation, bloque synchronisé...
depuis mes recherche je vois qu'il y a un problème avec date format et multithreading je pense que la solution la plus simple est d’appeler un new formatter dans chaque thread , cela se fera sur le ScenarioBuilder
Le DateTimeFormatter de Java 8 est thread safe
A formatter created from a pattern can be used as many times as necessary, it is immutable and is thread-safe.
ok ! cela resoud le probleme alors! il faut que les candidat soit sur java 8 par contre ...
Le problème n'est pas résolu
est ce que tu peux éclaircir le problème? tant que c'est threadsafe, est ce qu'il y a un autre problème avec le format de la date ?