Pārlūkot izejas kodu

执行器动态代理对象,拦截非业务方法的执行

xuxueli 8 gadus atpakaļ
vecāks
revīzija
87442a5c59

+ 1 - 0
doc/XXL-JOB官方文档.md Parādīt failu

1024
 - 3、修复任务监控线程被耗时任务阻塞的问题;
1024
 - 3、修复任务监控线程被耗时任务阻塞的问题;
1025
 - 4、修复任务监控线程无法监控任务触发和执行状态均未0的问题;
1025
 - 4、修复任务监控线程无法监控任务触发和执行状态均未0的问题;
1026
 - 5、调度中心项目日志配置改为xml文件格式;
1026
 - 5、调度中心项目日志配置改为xml文件格式;
1027
+- 6、执行器动态代理对象,拦截非业务方法的执行;
1027
 
1028
 
1028
 ### TODO LIST
1029
 ### TODO LIST
1029
 - 1、任务权限管理:执行器为粒度分配权限,核心操作校验权限;
1030
 - 1、任务权限管理:执行器为粒度分配权限,核心操作校验权限;

+ 7 - 1
xxl-job-core/src/main/java/com/xxl/job/core/rpc/netcom/NetComClientProxy.java Parādīt failu

36
 				new InvocationHandler() {
36
 				new InvocationHandler() {
37
 					@Override
37
 					@Override
38
 					public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
38
 					public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
39
+
40
+						// filter method like "Object.toString()"
41
+						if (Object.class.getName().equals(method.getDeclaringClass().getName())) {
42
+							logger.error(">>>>>>>>>>> xxl-rpc proxy class-method not support [{}.{}]", method.getDeclaringClass().getName(), method.getName());
43
+							throw new RuntimeException("xxl-rpc proxy class-method not support");
44
+						}
39
 						
45
 						
40
 						// request
46
 						// request
41
 						RpcRequest request = new RpcRequest();
47
 						RpcRequest request = new RpcRequest();
46
 	                    request.setMethodName(method.getName());
52
 	                    request.setMethodName(method.getName());
47
 	                    request.setParameterTypes(method.getParameterTypes());
53
 	                    request.setParameterTypes(method.getParameterTypes());
48
 	                    request.setParameters(args);
54
 	                    request.setParameters(args);
49
-	                    
55
+
50
 	                    // send
56
 	                    // send
51
 	                    RpcResponse response = client.send(request);
57
 	                    RpcResponse response = client.send(request);
52
 	                    
58