Ver código fonte

update document

xuxueli 6 anos atrás
pai
commit
4f5e5bae0d

+ 2 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java Ver arquivo

5
 import org.slf4j.Logger;
5
 import org.slf4j.Logger;
6
 import org.slf4j.LoggerFactory;
6
 import org.slf4j.LoggerFactory;
7
 
7
 
8
-import java.util.Map;
9
 import java.util.concurrent.*;
8
 import java.util.concurrent.*;
10
 import java.util.concurrent.atomic.AtomicInteger;
9
 import java.util.concurrent.atomic.AtomicInteger;
11
 
10
 
50
 
49
 
51
     // job timeout count
50
     // job timeout count
52
     private volatile long minTim = System.currentTimeMillis()/60000;     // ms > min
51
     private volatile long minTim = System.currentTimeMillis()/60000;     // ms > min
53
-    private volatile Map<Integer, AtomicInteger> jobTimeoutCountMap = new ConcurrentHashMap<>();
52
+    private volatile ConcurrentHashMap<Integer, AtomicInteger> jobTimeoutCountMap = new ConcurrentHashMap<>();
54
 
53
 
55
 
54
 
56
     /**
55
     /**
89
                     // incr timeout-count-map
88
                     // incr timeout-count-map
90
                     long cost = System.currentTimeMillis()-start;
89
                     long cost = System.currentTimeMillis()-start;
91
                     if (cost > 500) {       // ob-timeout threshold 500ms
90
                     if (cost > 500) {       // ob-timeout threshold 500ms
92
-                        AtomicInteger timeoutCount = jobTimeoutCountMap.put(jobId, new AtomicInteger(1));
91
+                        AtomicInteger timeoutCount = jobTimeoutCountMap.putIfAbsent(jobId, new AtomicInteger(1));
93
                         if (timeoutCount != null) {
92
                         if (timeoutCount != null) {
94
                             timeoutCount.incrementAndGet();
93
                             timeoutCount.incrementAndGet();
95
                         }
94
                         }