From f10f63bb8a281cf883ae4881395b3f241c47a0fa Mon Sep 17 00:00:00 2001 From: YevhenBondarenko Date: Tue, 17 Sep 2024 11:25:50 +0200 Subject: [PATCH] fixed concurrent modification in TopicService --- .../thingsboard/server/queue/discovery/TopicService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/queue/src/main/java/org/thingsboard/server/queue/discovery/TopicService.java b/common/queue/src/main/java/org/thingsboard/server/queue/discovery/TopicService.java index 960be231c6..b73c3c1c72 100644 --- a/common/queue/src/main/java/org/thingsboard/server/queue/discovery/TopicService.java +++ b/common/queue/src/main/java/org/thingsboard/server/queue/discovery/TopicService.java @@ -21,8 +21,8 @@ import org.thingsboard.server.common.data.id.TenantId; import org.thingsboard.server.common.msg.queue.ServiceType; import org.thingsboard.server.common.msg.queue.TopicPartitionInfo; -import java.util.HashMap; -import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; @Service public class TopicService { @@ -30,8 +30,8 @@ public class TopicService { @Value("${queue.prefix:}") private String prefix; - private Map tbCoreNotificationTopics = new HashMap<>(); - private Map tbRuleEngineNotificationTopics = new HashMap<>(); + private final ConcurrentMap tbCoreNotificationTopics = new ConcurrentHashMap<>(); + private final ConcurrentMap tbRuleEngineNotificationTopics = new ConcurrentHashMap<>(); /** * Each Service should start a consumer for messages that target individual service instance based on serviceId.