소스 검색

代码优化,ConcurrentHashMap变量类型改为ConcurrentMap,避免因不同版本实现不同导致的兼容性问题;

xuxueli 6 년 전
부모
커밋
40607e44ca

+ 1 - 0
doc/XXL-JOB官方文档.md 파일 보기

@@ -1503,6 +1503,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
1503 1503
 - 16、任务日志主键调整为long,防止海量日志情况下数据溢出;
1504 1504
 - 17、任务日志列表交互优化,操作按钮合并为分割按钮;
1505 1505
 - 18、HttpJobHandler优化,响应数据指定UTF-8格式,避免中文乱码;
1506
+- 19、代码优化,ConcurrentHashMap变量类型改为ConcurrentMap,避免因不同版本实现不同导致的兼容性问题;
1506 1507
 
1507 1508
 
1508 1509
 ### 6.26 版本 v2.1.1 Release Notes[规划中]

+ 2 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobScheduler.java 파일 보기

@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletRequest;
27 27
 import javax.servlet.http.HttpServletResponse;
28 28
 import java.io.IOException;
29 29
 import java.util.concurrent.ConcurrentHashMap;
30
+import java.util.concurrent.ConcurrentMap;
30 31
 
31 32
 /**
32 33
  * @author xuxueli 2018-10-28 00:18:17
@@ -112,7 +113,7 @@ public class XxlJobScheduler implements InitializingBean, DisposableBean {
112 113
 
113 114
 
114 115
     // ---------------------- executor-client ----------------------
115
-    private static ConcurrentHashMap<String, ExecutorBiz> executorBizRepository = new ConcurrentHashMap<String, ExecutorBiz>();
116
+    private static ConcurrentMap<String, ExecutorBiz> executorBizRepository = new ConcurrentHashMap<String, ExecutorBiz>();
116 117
     public static ExecutorBiz getExecutorBiz(String address) throws Exception {
117 118
         // valid
118 119
         if (address==null || address.trim().length()==0) {

+ 2 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java 파일 보기

@@ -6,6 +6,7 @@ import com.xxl.job.core.biz.model.TriggerParam;
6 6
 
7 7
 import java.util.*;
8 8
 import java.util.concurrent.ConcurrentHashMap;
9
+import java.util.concurrent.ConcurrentMap;
9 10
 
10 11
 /**
11 12
  * 单个JOB对应的每个执行器,使用频率最低的优先被选举
@@ -16,7 +17,7 @@ import java.util.concurrent.ConcurrentHashMap;
16 17
  */
17 18
 public class ExecutorRouteLFU extends ExecutorRouter {
18 19
 
19
-    private static ConcurrentHashMap<Integer, HashMap<String, Integer>> jobLfuMap = new ConcurrentHashMap<Integer, HashMap<String, Integer>>();
20
+    private static ConcurrentMap<Integer, HashMap<String, Integer>> jobLfuMap = new ConcurrentHashMap<Integer, HashMap<String, Integer>>();
20 21
     private static long CACHE_VALID_TIME = 0;
21 22
 
22 23
     public String route(int jobId, List<String> addressList) {

+ 2 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java 파일 보기

@@ -8,6 +8,7 @@ import java.util.ArrayList;
8 8
 import java.util.LinkedHashMap;
9 9
 import java.util.List;
10 10
 import java.util.concurrent.ConcurrentHashMap;
11
+import java.util.concurrent.ConcurrentMap;
11 12
 
12 13
 /**
13 14
  * 单个JOB对应的每个执行器,最久为使用的优先被选举
@@ -18,7 +19,7 @@ import java.util.concurrent.ConcurrentHashMap;
18 19
  */
19 20
 public class ExecutorRouteLRU extends ExecutorRouter {
20 21
 
21
-    private static ConcurrentHashMap<Integer, LinkedHashMap<String, String>> jobLRUMap = new ConcurrentHashMap<Integer, LinkedHashMap<String, String>>();
22
+    private static ConcurrentMap<Integer, LinkedHashMap<String, String>> jobLRUMap = new ConcurrentHashMap<Integer, LinkedHashMap<String, String>>();
22 23
     private static long CACHE_VALID_TIME = 0;
23 24
 
24 25
     public String route(int jobId, List<String> addressList) {

+ 2 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java 파일 보기

@@ -7,13 +7,14 @@ import com.xxl.job.core.biz.model.TriggerParam;
7 7
 import java.util.List;
8 8
 import java.util.Random;
9 9
 import java.util.concurrent.ConcurrentHashMap;
10
+import java.util.concurrent.ConcurrentMap;
10 11
 
11 12
 /**
12 13
  * Created by xuxueli on 17/3/10.
13 14
  */
14 15
 public class ExecutorRouteRound extends ExecutorRouter {
15 16
 
16
-    private static ConcurrentHashMap<Integer, Integer> routeCountEachJob = new ConcurrentHashMap<Integer, Integer>();
17
+    private static ConcurrentMap<Integer, Integer> routeCountEachJob = new ConcurrentHashMap<Integer, Integer>();
17 18
     private static long CACHE_VALID_TIME = 0;
18 19
     private static int count(int jobId) {
19 20
         // cache clear

+ 1 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java 파일 보기

@@ -49,7 +49,7 @@ public class JobTriggerPoolHelper {
49 49
 
50 50
     // job timeout count
51 51
     private volatile long minTim = System.currentTimeMillis()/60000;     // ms > min
52
-    private volatile ConcurrentHashMap<Integer, AtomicInteger> jobTimeoutCountMap = new ConcurrentHashMap<>();
52
+    private volatile ConcurrentMap<Integer, AtomicInteger> jobTimeoutCountMap = new ConcurrentHashMap<>();
53 53
 
54 54
 
55 55
     /**

+ 3 - 2
xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java 파일 보기

@@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory;
24 24
 
25 25
 import java.util.*;
26 26
 import java.util.concurrent.ConcurrentHashMap;
27
+import java.util.concurrent.ConcurrentMap;
27 28
 
28 29
 /**
29 30
  * Created by xuxueli on 2016/3/2 21:14.
@@ -223,7 +224,7 @@ public class XxlJobExecutor  {
223 224
 
224 225
 
225 226
     // ---------------------- job handler repository ----------------------
226
-    private static ConcurrentHashMap<String, IJobHandler> jobHandlerRepository = new ConcurrentHashMap<String, IJobHandler>();
227
+    private static ConcurrentMap<String, IJobHandler> jobHandlerRepository = new ConcurrentHashMap<String, IJobHandler>();
227 228
     public static IJobHandler registJobHandler(String name, IJobHandler jobHandler){
228 229
         logger.info(">>>>>>>>>>> xxl-job register jobhandler success, name:{}, jobHandler:{}", name, jobHandler);
229 230
         return jobHandlerRepository.put(name, jobHandler);
@@ -234,7 +235,7 @@ public class XxlJobExecutor  {
234 235
 
235 236
 
236 237
     // ---------------------- job thread repository ----------------------
237
-    private static ConcurrentHashMap<Integer, JobThread> jobThreadRepository = new ConcurrentHashMap<Integer, JobThread>();
238
+    private static ConcurrentMap<Integer, JobThread> jobThreadRepository = new ConcurrentHashMap<Integer, JobThread>();
238 239
     public static JobThread registJobThread(int jobId, IJobHandler handler, String removeOldReason){
239 240
         JobThread newJobThread = new JobThread(jobId, handler);
240 241
         newJobThread.start();

+ 2 - 1
xxl-job-core/src/main/java/com/xxl/job/core/glue/GlueFactory.java 파일 보기

@@ -7,6 +7,7 @@ import groovy.lang.GroovyClassLoader;
7 7
 import java.math.BigInteger;
8 8
 import java.security.MessageDigest;
9 9
 import java.util.concurrent.ConcurrentHashMap;
10
+import java.util.concurrent.ConcurrentMap;
10 11
 
11 12
 /**
12 13
  * glue factory, product class/object by name
@@ -33,7 +34,7 @@ public class GlueFactory {
33 34
 	 * groovy class loader
34 35
 	 */
35 36
 	private GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
36
-	private ConcurrentHashMap<String, Class<?>> CLASS_CACHE = new ConcurrentHashMap<>();
37
+	private ConcurrentMap<String, Class<?>> CLASS_CACHE = new ConcurrentHashMap<>();
37 38
 
38 39
 	/**
39 40
 	 * load new instance, prototype