何知谦 4 роки тому
батько
коміт
e9f99ecb8b

+ 12 - 6
PaasMonitor-server/src/main/java/com/nju/edu/paasMonitorServer/alert/process/watcher/Watcher.java

@@ -3,20 +3,25 @@ package com.nju.edu.paasMonitorServer.alert.process.watcher;
 import com.nju.edu.paasMonitorCommon.enums.AlertType;
 import com.nju.edu.paasMonitorServer.alert.dao.ConfigDao;
 import com.nju.edu.paasMonitorServer.alert.entity.po.ConfigPO;
-import com.nju.edu.paasMonitorServer.alert.process.checker.*;
+import com.nju.edu.paasMonitorServer.alert.process.checker.CallChecker;
+import com.nju.edu.paasMonitorServer.alert.process.checker.ErrorChecker;
+import com.nju.edu.paasMonitorServer.alert.process.checker.EventChecker;
+import com.nju.edu.paasMonitorServer.alert.process.checker.MetricChecker;
 import com.nju.edu.paasMonitorServer.util.TimeCalculator;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.Timer;
-import java.util.TimerTask;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 
 @Service
 @Slf4j
-public class Watcher extends TimerTask {
+public class Watcher implements Runnable {
     private static final int PERIOD = 60000;
+    private static final int INITIAL_DELAY = 3000;
     private final ConfigDao configDao;
     private final CallChecker callChecker;
     private final ErrorChecker errorChecker;
@@ -36,12 +41,13 @@ public class Watcher extends TimerTask {
         this.errorChecker = errorChecker;
         this.eventChecker = eventChecker;
         this.metricChecker = metricChecker;
-        Timer timer = new Timer();
-        timer.schedule(this, 0, PERIOD);
+        ScheduledExecutorService schedule = Executors.newSingleThreadScheduledExecutor();
+        schedule.scheduleAtFixedRate(this, INITIAL_DELAY, PERIOD, TimeUnit.MILLISECONDS);
     }
 
     @Override
     public void run() {
+        System.out.println("new round");
         try {
             List<ConfigPO> configPOS = configDao.getAllConfig();
             long current = System.currentTimeMillis();

BIN
PaasMonitor-server/target/classes/com/nju/edu/paasMonitorServer/alert/entity/vo/SubCheckItem.class


BIN
PaasMonitor-server/target/classes/com/nju/edu/paasMonitorServer/alert/process/watcher/Watcher.class