From b060e48233341f20fe2732ea937d36ea437c7cec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Thu, 26 Jun 2025 09:43:48 +0200 Subject: [PATCH] Synchronize Map in IdFieldFinder tp avoid concurrent exception --- .../src/main/java/sonia/scm/store/IdFieldFinder.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scm-persistence/src/main/java/sonia/scm/store/IdFieldFinder.java b/scm-persistence/src/main/java/sonia/scm/store/IdFieldFinder.java index feae991938..4078c59aa6 100644 --- a/scm-persistence/src/main/java/sonia/scm/store/IdFieldFinder.java +++ b/scm-persistence/src/main/java/sonia/scm/store/IdFieldFinder.java @@ -22,10 +22,11 @@ import java.util.Map; import java.util.Optional; import static java.lang.String.format; +import static java.util.Collections.synchronizedMap; class IdFieldFinder { - private static final Map, Optional> FIELD_CACHE = new HashMap<>(); + private static final Map, Optional> FIELD_CACHE = synchronizedMap(new HashMap<>()); Optional getIdField(Class clazz) { return FIELD_CACHE.computeIfAbsent(clazz, this::findIdField);