From 1fc2916c2b4b28fbf722c4401e559805f9578573 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期日, 28 四月 2024 22:25:58 +0800
Subject: [PATCH] Merge pull request #1432 from AlphaWu/Zafu-Dev-20240428
---
src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java | 9 ++++++---
1 files changed, 6 insertions(+), 3 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 873feab..de0e2df 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java
@@ -9,6 +9,7 @@
import javax.annotation.PostConstruct;
import java.time.Instant;
+import java.util.Date;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -59,7 +60,8 @@
}
}
// scheduleWithFixedDelay 蹇呴』绛夊緟涓婁竴涓换鍔$粨鏉熸墠寮�濮嬭鏃秔eriod锛� cycleForCatalog琛ㄧず鎵ц鐨勯棿闅�
- future = threadPoolTaskScheduler.scheduleAtFixedRate(task, cycleForCatalog);
+
+ future = threadPoolTaskScheduler.scheduleAtFixedRate(task, new Date(System.currentTimeMillis() + cycleForCatalog), cycleForCatalog);
if (future != null){
futureMap.put(key, future);
runnableMap.put(key, task);
@@ -111,7 +113,7 @@
}
boolean result = false;
if (!ObjectUtils.isEmpty(futureMap.get(key)) && !futureMap.get(key).isCancelled() && !futureMap.get(key).isDone()) {
- result = futureMap.get(key).cancel(true);
+ result = futureMap.get(key).cancel(false);
futureMap.remove(key);
runnableMap.remove(key);
}
@@ -143,7 +145,8 @@
public void execute(){
if (futureMap.size() > 0) {
for (String key : futureMap.keySet()) {
- if (futureMap.get(key).isDone() || futureMap.get(key).isCancelled()) {
+ ScheduledFuture<?> future = futureMap.get(key);
+ if (future.isDone() || future.isCancelled()) {
futureMap.remove(key);
runnableMap.remove(key);
}
--
Gitblit v1.8.0