添加模拟BuriedPointSender
This commit is contained in:
parent
971942d6ce
commit
c496b893ed
|
|
@ -0,0 +1,20 @@
|
|||
package com.ai.cloud.skywalking.plugin.spring;
|
||||
|
||||
import com.ai.cloud.skywalking.api.IBuriedPointSender;
|
||||
import com.ai.cloud.skywalking.model.ContextData;
|
||||
import com.ai.cloud.skywalking.model.SendData;
|
||||
|
||||
public class BuriedPointSender implements IBuriedPointSender {
|
||||
public ContextData beforeSend(SendData data) {
|
||||
System.out.println("before Send");
|
||||
return null;
|
||||
}
|
||||
|
||||
public void afterSend() {
|
||||
System.out.println("after Send");
|
||||
}
|
||||
|
||||
public void handleException(Throwable th) {
|
||||
System.out.println("handle Exception");
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.ai.cloud.skywalking.plugin.spring;
|
||||
|
||||
import com.ai.cloud.skywalking.buriedpoint.LocalBuriedPointSender;
|
||||
import com.ai.cloud.skywalking.model.SendData;
|
||||
import javassist.*;
|
||||
import org.springframework.beans.BeansException;
|
||||
|
|
@ -32,7 +31,7 @@ public class TracingEnhanceProcessor implements BeanPostProcessor {
|
|||
//
|
||||
mCtc.setSuperclass(mPool.get(bean.getClass().getName()));
|
||||
//添加字段
|
||||
mCtc.addField(CtField.make("private " + LocalBuriedPointSender.class.getName() + " buriedPoint;", mCtc));
|
||||
mCtc.addField(CtField.make("private " + BuriedPointSender.class.getName() + " buriedPoint;", mCtc));
|
||||
mCtc.addField(CtField.make("private " + bean.getClass().getName() + " realBean;", mCtc));
|
||||
// 校验方法
|
||||
for (Method method : methods) {
|
||||
|
|
@ -49,13 +48,13 @@ public class TracingEnhanceProcessor implements BeanPostProcessor {
|
|||
// TODO 参数注解
|
||||
mCtc.addMethod(CtMethod.make(result.toString(), mCtc));
|
||||
}
|
||||
mCtc.addConstructor(CtNewConstructor.make("public " + bean.getClass().getSimpleName() + "Proxy(" + LocalBuriedPointSender.class
|
||||
mCtc.addConstructor(CtNewConstructor.make("public " + bean.getClass().getSimpleName() + "Proxy(" + BuriedPointSender.class
|
||||
.getName() + " buriedPoint, " + bean.getClass().getName() + " realBean){" +
|
||||
"this.buriedPoint = buriedPoint;this.realBean = realBean;}", mCtc));
|
||||
mCtc.addConstructor(CtNewConstructor.defaultConstructor(mCtc));
|
||||
Class classes = mCtc.toClass();
|
||||
Constructor constructor = classes.getConstructor(LocalBuriedPointSender.class, bean.getClass());
|
||||
return constructor.newInstance(new LocalBuriedPointSender(), bean);
|
||||
Constructor constructor = classes.getConstructor(BuriedPointSender.class, bean.getClass());
|
||||
return constructor.newInstance(new BuriedPointSender(), bean);
|
||||
} catch (CannotCompileException e) {
|
||||
e.printStackTrace();
|
||||
} catch (InstantiationException e) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue