From c6bcd699001414f0535528f171b8be23fcf7e2b8 Mon Sep 17 00:00:00 2001 From: ScarletRedMan Date: Sat, 16 Mar 2024 12:10:51 +0700 Subject: [PATCH] Fixed NullPointerException in UserMetricsAspect --- .../java/ru/dragonestia/picker/aspect/UserMetricsAspect.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/ru/dragonestia/picker/aspect/UserMetricsAspect.java b/server/src/main/java/ru/dragonestia/picker/aspect/UserMetricsAspect.java index a268434..c4c240e 100644 --- a/server/src/main/java/ru/dragonestia/picker/aspect/UserMetricsAspect.java +++ b/server/src/main/java/ru/dragonestia/picker/aspect/UserMetricsAspect.java @@ -20,6 +20,7 @@ import ru.dragonestia.picker.repository.UserRepository; import java.util.HashSet; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; @@ -126,7 +127,9 @@ public class UserMetricsAspect { @Scheduled(fixedDelay = 3_000) void updateUserMetrics() { - userRepository.countUsersForNodes().forEach((nodeId, users) -> data.get(nodeId).users().set(users)); + userRepository.countUsersForNodes().forEach((nodeId, users) -> { + Optional.ofNullable(data.get(nodeId)).ifPresent(node -> node.users().set(users)); + }); } private record NodeData(Gauge usersGauge, AtomicInteger users, Counter picksPerMinute, Set locked, Gauge lockedGauge, Gauge roomsGauge) {}