|
|
@@ -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();
|