浏览代码

移除clazz缓存

xueli.xue 9 年前
父节点
当前提交
66adbd687f
共有 1 个文件被更改,包括 12 次插入35 次删除
  1. 12 35
      xxl-job-client/src/main/java/com/xxl/job/client/glue/GlueFactory.java

+ 12 - 35
xxl-job-client/src/main/java/com/xxl/job/client/glue/GlueFactory.java 查看文件

101
 	}
101
 	}
102
 	
102
 	
103
 	// ----------------------------- load instance -----------------------------
103
 	// ----------------------------- load instance -----------------------------
104
-	
105
-	// load class, 
106
-	public static String generateClassCacheKey(String job_group, String job_name){
107
-		return job_group.concat("_").concat(job_name).concat("_class");
108
-	}
109
-	public Class<?> loadClass(String job_group, String job_name) throws Exception{
104
+	// load new instance, prototype
105
+	public IJobHandler loadNewInstance(String job_group, String job_name) throws Exception{
110
 		if (job_group==null || job_group.trim().length()==0 || job_name==null || job_name.trim().length()==0) {
106
 		if (job_group==null || job_group.trim().length()==0 || job_name==null || job_name.trim().length()==0) {
111
 			return null;
107
 			return null;
112
 		}
108
 		}
113
-		String cacheClassKey = generateClassCacheKey(job_group, job_name);
114
-		Object cacheClass = LocalCache.getInstance().get(cacheClassKey);
115
-		if (cacheClass != null) {
116
-			return (Class<?>) cacheClass;
117
-		}
118
 		String codeSource = glueLoader.load(job_group, job_name);
109
 		String codeSource = glueLoader.load(job_group, job_name);
119
 		if (codeSource!=null && codeSource.trim().length()>0) {
110
 		if (codeSource!=null && codeSource.trim().length()>0) {
120
 			Class<?> clazz = groovyClassLoader.parseClass(codeSource);
111
 			Class<?> clazz = groovyClassLoader.parseClass(codeSource);
121
-			if (clazz!=null) {
122
-				LocalCache.getInstance().set(cacheClassKey, clazz, cacheTimeout);
123
-				logger.info(">>>>>>>>>>>> xxl-glue, fresh class, cacheClassKey:{}", cacheClassKey);
124
-				return clazz;
125
-			}
126
-		}
127
-		return null;
128
-	}
129
-	
130
-	// load new instance, prototype
131
-	public IJobHandler loadNewInstance(String job_group, String job_name) throws Exception{
132
-		if (job_group==null || job_group.trim().length()==0 || job_name==null || job_name.trim().length()==0) {
133
-			return null;
134
-		}
135
-		Class<?> clazz = loadClass(job_group, job_name);
136
-		if (clazz!=null) {
137
-			Object instance = clazz.newInstance();
138
-			if (instance!=null) {
139
-				if (!(instance instanceof IJobHandler)) {
140
-					throw new IllegalArgumentException(">>>>>>>>>>> xxl-glue, loadNewInstance error, "
141
-							+ "cannot convert from instance["+ instance.getClass() +"] to IJobHandler");
112
+			if (clazz != null) {
113
+				Object instance = clazz.newInstance();
114
+				if (instance!=null) {
115
+					if (instance instanceof IJobHandler) {
116
+						this.injectService(instance);
117
+						return (IJobHandler) instance;
118
+					} else {
119
+						throw new IllegalArgumentException(">>>>>>>>>>> xxl-glue, loadNewInstance error, "
120
+								+ "cannot convert from instance["+ instance.getClass() +"] to IJobHandler");
121
+					}
142
 				}
122
 				}
143
-				
144
-				this.injectService(instance);
145
-				return (IJobHandler) instance;
146
 			}
123
 			}
147
 		}
124
 		}
148
 		throw new IllegalArgumentException(">>>>>>>>>>> xxl-glue, loadNewInstance error, instance is null");
125
 		throw new IllegalArgumentException(">>>>>>>>>>> xxl-glue, loadNewInstance error, instance is null");