diff --git a/src/main/java/com/xydl/cac/comparator/MissCompare.java b/src/main/java/com/xydl/cac/comparator/MissCompare.java index a685ca5..0ea1c43 100644 --- a/src/main/java/com/xydl/cac/comparator/MissCompare.java +++ b/src/main/java/com/xydl/cac/comparator/MissCompare.java @@ -1,18 +1,24 @@ package com.xydl.cac.comparator; +import com.xydl.cac.exception.BusinessException; + import java.util.Date; import java.util.LinkedHashMap; public class MissCompare extends Comparator { + // 一天触发一次 + boolean done = false; + @Override public boolean compare(Object source, String threshold, Date lastDTime) { - if (source == null && lastDTime != null) { + if (!done && source == null && lastDTime != null) { long t2 = Long.parseLong(threshold); long last = System.currentTimeMillis() - lastDTime.getTime(); hours = last / 1000 / 60 / 60; if (hours >= t2) { + done = true; return true; } } @@ -28,6 +34,10 @@ public class MissCompare extends Comparator { @Override public void valid(String operator, String threshold) throws Exception { + Integer hours = Integer.parseInt(threshold); + if (hours <= 1) { + throw new BusinessException("阈值必须大于1"); + } } } diff --git a/src/main/java/com/xydl/cac/task/CacheTask.java b/src/main/java/com/xydl/cac/task/CacheTask.java index 0afd9d3..f0c87f0 100644 --- a/src/main/java/com/xydl/cac/task/CacheTask.java +++ b/src/main/java/com/xydl/cac/task/CacheTask.java @@ -27,7 +27,7 @@ public class CacheTask { public static List zsb_Cache = null; public static ConcurrentHashMap rule_Cache = new ConcurrentHashMap<>(); - @Scheduled(cron = "0 1 * * * ?") + @Scheduled(cron = "0 9 * * * ?") private void clearCache() { unit_Cache.clear(); modevType_Cache = null;