La ObjectMapperclasse de la bibliothèque Jackson semble être thread-safe .
Est-ce que cela signifie que je devrais déclarer mon ObjectMapperchamp statique comme celui-ci
class Me {
private static final ObjectMapper mapper = new ObjectMapper();
}
au lieu d'un champ de niveau instance comme celui-ci?
class Me {
private final ObjectMapper mapper = new ObjectMapper();
}
ObjectMapperthread-safeObjectMapper#setDateFormat()est toujours appelé. Il est connu que ceSimpleDateFormatn'est pas sûr pour les threads , doncObjectMapperil ne le sera pas sauf s'il clone par exempleSerializationConfigavant chaquewriteValue()(je doute). Pourriez-vous démystifier ma peur?