From c496b893ed758f23ac39a6d04a96208bba222ae1 Mon Sep 17 00:00:00 2001 From: zhangxin10 Date: Tue, 10 Nov 2015 16:03:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A8=A1=E6=8B=9FBuriedPoint?= =?UTF-8?q?Sender?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/spring/BuriedPointSender.java | 20 +++++++++++++++++++ .../spring/TracingEnhanceProcessor.java | 9 ++++----- 2 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/BuriedPointSender.java diff --git a/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/BuriedPointSender.java b/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/BuriedPointSender.java new file mode 100644 index 000000000..510acfe55 --- /dev/null +++ b/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/BuriedPointSender.java @@ -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"); + } +} diff --git a/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/TracingEnhanceProcessor.java b/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/TracingEnhanceProcessor.java index d4489be84..2a4db624e 100644 --- a/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/TracingEnhanceProcessor.java +++ b/skywalking-sdk-plugin/spring-plugin/src/main/java/com/ai/cloud/skywalking/plugin/spring/TracingEnhanceProcessor.java @@ -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) {