From 0b1cae75fe601bacc1b610bcd4f0c58a365e06e3 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 12 七月 2022 10:32:45 +0800 Subject: [PATCH] 动态人物管理增加自检机制。防止内存溢出 --- src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java index 1f18338..1885632 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java @@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.stereotype.Component; @@ -120,4 +121,19 @@ public Runnable get(String key) { return runnableMap.get(key); } + + /** + * 姣忎簲鍒嗛挓妫�鏌ュけ鏁堢殑浠诲姟锛屽苟绉婚櫎 + */ + @Scheduled(cron="0 0/5 * * * ?") + public void execute(){ + if (futureMap.size() > 0) { + for (String key : futureMap.keySet()) { + if (futureMap.get(key).isDone()) { + futureMap.remove(key); + runnableMap.remove(key); + } + } + } + } } -- Gitblit v1.8.0