From 66b768a499bb299960871fe56ae9a0da2f79f1cb Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Fri, 17 Nov 2023 14:45:38 +0200 Subject: [PATCH] added @Lazy to PubSubRuleNodeExecutorProvider --- .../org/thingsboard/server/actors/ActorSystemContext.java | 1 + .../service/executors/PubSubRuleNodeExecutorProvider.java | 6 +++++- .../server/queue/pubsub/TbPubSubQueueExecutorProvider.java | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java b/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java index 24a240661f..607d5d8791 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java @@ -323,6 +323,7 @@ public class ActorSystemContext { @Getter private NotificationExecutorService notificationExecutor; + @Lazy @Autowired @Getter private PubSubRuleNodeExecutorProvider pubSubRuleNodeExecutorProvider; diff --git a/application/src/main/java/org/thingsboard/server/service/executors/PubSubRuleNodeExecutorProvider.java b/application/src/main/java/org/thingsboard/server/service/executors/PubSubRuleNodeExecutorProvider.java index 520b8f855c..74e1222acf 100644 --- a/application/src/main/java/org/thingsboard/server/service/executors/PubSubRuleNodeExecutorProvider.java +++ b/application/src/main/java/org/thingsboard/server/service/executors/PubSubRuleNodeExecutorProvider.java @@ -16,15 +16,19 @@ package org.thingsboard.server.service.executors; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import org.thingsboard.common.util.ExecutorProvider; import org.thingsboard.common.util.ThingsBoardThreadFactory; +import org.thingsboard.server.queue.util.TbRuleEngineComponent; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; +@Lazy +@TbRuleEngineComponent @Component public class PubSubRuleNodeExecutorProvider implements ExecutorProvider { @@ -53,7 +57,7 @@ public class PubSubRuleNodeExecutorProvider implements ExecutorProvider { @PreDestroy private void destroy() { if (executor != null) { - executor.shutdown(); + executor.shutdownNow(); } } } diff --git a/common/queue/src/main/java/org/thingsboard/server/queue/pubsub/TbPubSubQueueExecutorProvider.java b/common/queue/src/main/java/org/thingsboard/server/queue/pubsub/TbPubSubQueueExecutorProvider.java index 5e5f19651c..370670d554 100644 --- a/common/queue/src/main/java/org/thingsboard/server/queue/pubsub/TbPubSubQueueExecutorProvider.java +++ b/common/queue/src/main/java/org/thingsboard/server/queue/pubsub/TbPubSubQueueExecutorProvider.java @@ -54,7 +54,7 @@ public class TbPubSubQueueExecutorProvider implements ExecutorProvider { @PreDestroy private void destroy() { if (executor != null) { - executor.shutdown(); + executor.shutdownNow(); } } }