1 15 16 package com.jdon.bussinessproxy.dyncproxy; 17 18 import java.lang.reflect.InvocationHandler ; 19 import java.lang.reflect.Method ; 20 21 import com.jdon.aop.AopClient; 22 import com.jdon.container.access.TargetMetaRequest; 23 import com.jdon.util.Debug; 24 25 26 34 35 public class DynamicProxyWeaving implements InvocationHandler , java.io.Serializable { 36 37 private final static String module = DynamicProxyWeaving.class.getName(); 38 39 private AopClient aopClient; 40 private TargetMetaRequest targetMetaRequest; 41 42 public DynamicProxyWeaving(TargetMetaRequest targetMetaRequest, AopClient aopClient) { 43 this.targetMetaRequest = targetMetaRequest; 44 this.aopClient = aopClient; 45 } 46 47 56 public Object invoke(Object p_proxy, Method m, Object [] args) throws 57 Throwable { 58 Debug.logVerbose("<################################>Action: JdonFramework core entrance", module); 59 Debug.logVerbose("[JdonFramework]<################>execute method=" + m.getDeclaringClass().getName() + "." + m.getName() , module); 60 Object result = null; 61 try { 62 result = aopClient.invoke(targetMetaRequest, m, args); 63 Debug.logVerbose("[JdonFramework]<################>finish executing method=" + m.getDeclaringClass().getName() + "." + m.getName() + " successfully!", module); 64 Debug.logVerbose("<################################><end:", module); 65 } catch (Exception ex) { 66 Debug.logError(ex, module); 67 } catch (Throwable ex) { 68 throw new Throwable (ex); 69 } 70 71 return result; 72 73 } 74 75 76 } 77
| Popular Tags
|