diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java index 8358b3790..e6a430e97 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java @@ -27,6 +27,7 @@ import java.time.Duration; import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; public class TournamentService { private final ProductLibrary _productLibrary; @@ -47,8 +48,8 @@ public class TournamentService { private static final Duration _tournamentRepeatPeriod = Duration.ofDays(2); private static final int _scheduledTournamentLoadTime = 7; // In days; one week - private final Map _activeTournaments = new LinkedHashMap<>(); - private final Map _tournamentQueues = new LinkedHashMap<>(); + private final Map _activeTournaments = new ConcurrentHashMap<>(); + private final Map _tournamentQueues = new ConcurrentHashMap<>(); public TournamentService(CollectionsManager collectionsManager, ProductLibrary productLibrary, DraftPackStorage draftPackStorage, TournamentDAO tournamentDao, TournamentPlayerDAO tournamentPlayerDao, TournamentMatchDAO tournamentMatchDao, @@ -487,7 +488,7 @@ public class TournamentService { return result; } - public List getLiveTournaments() { + public synchronized List getLiveTournaments() { return new ArrayList<>(_activeTournaments.values()); }