diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java index 7a3a733c54dc27fc23c5792a709484aa3635cba6..6352f53da1c98e7331a310463cdbe104645bd5e2 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java @@ -50,7 +50,7 @@ public class JobTriggerPoolHelper { // job timeout count private volatile long minTim = System.currentTimeMillis()/60000; // ms > min - private volatile Map jobTimeoutCountMap = new ConcurrentHashMap<>(); + private volatile ConcurrentHashMap jobTimeoutCountMap = new ConcurrentHashMap<>(); /** @@ -89,7 +89,7 @@ public class JobTriggerPoolHelper { // incr timeout-count-map long cost = System.currentTimeMillis()-start; if (cost > 500) { // ob-timeout threshold 500ms - AtomicInteger timeoutCount = jobTimeoutCountMap.put(jobId, new AtomicInteger(1)); + AtomicInteger timeoutCount = jobTimeoutCountMap.putIfAbsent(jobId, new AtomicInteger(1)); if (timeoutCount != null) { timeoutCount.incrementAndGet(); }