diff --git a/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-archiver/pom.properties b/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-archiver/pom.properties
new file mode 100644
index 000000000..0a5ddc99f
--- /dev/null
+++ b/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu Jul 28 13:53:53 CST 2016
+version=1.0-Final
+groupId=com.ai.cloud
+artifactId=dubbo-impl
diff --git a/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 000000000..6a1d59a2c
--- /dev/null
+++ b/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,16 @@
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable1Example$Criterion.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable2Example$Criterion.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable1.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable2.class
+com/ai/cloud/skywalking/sample/dubbo/impl/SampleDubboInterfaceImpl.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable2Example$Criteria.class
+com/ai/cloud/skywalking/sample/util/DubboStart.class
+com/ai/cloud/skywalking/sample/mybatis/dao/Sampletable1Mapper.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable1Example$GeneratedCriteria.class
+com/ai/cloud/skywalking/sample/mybatis/dao/Sampletable2Mapper.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable2Example.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable1Example.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable1Example$Criteria.class
+com/ai/cloud/skywalking/sample/service/impl/SampleServiceImpl.class
+com/ai/cloud/skywalking/sample/service/inter/SampleServiceInterface.class
+com/ai/cloud/skywalking/sample/mybatis/model/Sampletable2Example$GeneratedCriteria.class
diff --git a/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 000000000..dfb52d21f
--- /dev/null
+++ b/samples/skywalking-example/example-dubbo/dubbo-impl/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,10 @@
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/dubbo/impl/SampleDubboInterfaceImpl.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/mybatis/model/Sampletable1.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/mybatis/dao/Sampletable1Mapper.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/mybatis/dao/Sampletable2Mapper.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/util/DubboStart.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/mybatis/model/Sampletable1Example.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/mybatis/model/Sampletable2.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/service/impl/SampleServiceImpl.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/service/inter/SampleServiceInterface.java
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-impl/src/main/java/com/ai/cloud/skywalking/sample/mybatis/model/Sampletable2Example.java
diff --git a/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-archiver/pom.properties b/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-archiver/pom.properties
new file mode 100644
index 000000000..50297afc1
--- /dev/null
+++ b/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu Jul 28 13:53:50 CST 2016
+version=1.0-Final
+groupId=com.ai.cloud
+artifactId=dubbo-interfaces
diff --git a/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 000000000..088426542
--- /dev/null
+++ b/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1 @@
+com/ai/cloud/skywalking/sample/dubbo/interfaces/SampleDubboInterface.class
diff --git a/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 000000000..7fcaa54d7
--- /dev/null
+++ b/samples/skywalking-example/example-dubbo/dubbo-interfaces/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1 @@
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-dubbo/dubbo-interfaces/src/main/java/com/ai/cloud/skywalking/sample/dubbo/interfaces/SampleDubboInterface.java
diff --git a/samples/skywalking-example/example-web/target/example-web/META-INF/MANIFEST.MF b/samples/skywalking-example/example-web/target/example-web/META-INF/MANIFEST.MF
deleted file mode 100644
index 0c28c7975..000000000
--- a/samples/skywalking-example/example-web/target/example-web/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Built-By: xin
-Created-By: IntelliJ IDEA
-Build-Jdk: 1.8.0_91
-
diff --git a/samples/skywalking-example/example-web/target/maven-archiver/pom.properties b/samples/skywalking-example/example-web/target/maven-archiver/pom.properties
new file mode 100644
index 000000000..6352a4f44
--- /dev/null
+++ b/samples/skywalking-example/example-web/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu Jul 28 13:53:52 CST 2016
+version=1.0-Final
+groupId=com.ai.cloud
+artifactId=example-web
diff --git a/samples/skywalking-example/example-web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/samples/skywalking-example/example-web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 000000000..d3392f96a
--- /dev/null
+++ b/samples/skywalking-example/example-web/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1 @@
+com/ai/cloud/skywalking/sample/web/controller/SampleWebController.class
diff --git a/samples/skywalking-example/example-web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/samples/skywalking-example/example-web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 000000000..c9d5aef79
--- /dev/null
+++ b/samples/skywalking-example/example-web/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1 @@
+/Users/xin/workbench/sky-walking/samples/skywalking-example/example-web/src/main/java/com/ai/cloud/skywalking/sample/web/controller/SampleWebController.java
diff --git a/skywalking-collector/skywalking-agent/pom.xml b/skywalking-collector/skywalking-agent/pom.xml
index d5479b675..f0945d62f 100644
--- a/skywalking-collector/skywalking-agent/pom.xml
+++ b/skywalking-collector/skywalking-agent/pom.xml
@@ -23,8 +23,6 @@
com.ai.cloud.skywalking.api.dependencies.io.netty
com.google.protobuf
com.ai.cloud.skywalking.api.dependencies.google.protobuf
- javassist
- com.ai.cloud.skywalking.api.dependencies.javassist
com.google.gson
com.ai.cloud.skywalking.api.dependencies.com.google.gson
@@ -97,10 +95,6 @@
${shade.com.google.protobuf.source}
${shade.com.google.protobuf.target}
-
- ${shade.javassist.source}
- ${shade.javassist.target}
-
${shade.com.google.gson.source}
${shade.com.google.gson.target}
diff --git a/skywalking-collector/skywalking-api/pom.xml b/skywalking-collector/skywalking-api/pom.xml
index f5876477c..9a51daef0 100644
--- a/skywalking-collector/skywalking-api/pom.xml
+++ b/skywalking-collector/skywalking-api/pom.xml
@@ -44,11 +44,7 @@
1.0-Final
test
-
- org.javassist
- javassist
- 3.20.0-GA
-
+
com.google.code.gson
gson
diff --git a/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/ClassTransformer.java b/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/ClassTransformer.java
deleted file mode 100644
index 3c831e146..000000000
--- a/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/ClassTransformer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.ai.cloud.skywalking.transformer;
-
-import com.ai.cloud.skywalking.logging.LogManager;
-import com.ai.cloud.skywalking.logging.Logger;
-import javassist.ClassPool;
-import javassist.CtClass;
-import javassist.CtMethod;
-
-import java.lang.instrument.ClassFileTransformer;
-import java.lang.instrument.IllegalClassFormatException;
-import java.lang.reflect.Modifier;
-import java.security.ProtectionDomain;
-
-public class ClassTransformer implements ClassFileTransformer {
-
- private static Logger logger = LogManager.getLogger(ClassTransformer.class);
-
- private String interceptorPackage;
-
- public ClassTransformer(String interceptorPackage){
- this.interceptorPackage = interceptorPackage;
- }
-
- @Override
- public byte[] transform(ClassLoader loader, String className, Class> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {
-
- if (interceptorPackage == null || interceptorPackage.length() == 0) {
- return classfileBuffer;
- }
-
- if (!className.replaceAll("/", ".").startsWith(interceptorPackage)) {
- return classfileBuffer;
- }
-
- try {
- ClassPool classPool = ClassPool.getDefault();
- CtClass ctClass = classPool.get(className.replaceAll("/", "."));
-
- if (ctClass.isInterface()) {
- return classfileBuffer;
- }
-
- CtMethod[] ctMethod = ctClass.getDeclaredMethods();
- for (CtMethod method : ctMethod) {
- if (Modifier.isStatic(method.getModifiers())) {
- continue;
- }
-
- String methodName = method.getName();
- method.setName(methodName + "_skywalking_enhance");
-
- CtMethod newMethod =
- new CtMethod(method.getReturnType(), methodName, method.getParameterTypes(),
- method.getDeclaringClass());
- newMethod.setBody("{" +
- MethodInterceptor.class.getName() + ".before($class,,$sig,$args,$0,\"" + methodName + "\");"
- + "return " + methodName + "_skywalking_enhance($$);}");
- newMethod.addCatch("{ " + MethodInterceptor.class.getName() + ".handleException(e); throw e;}", classPool.get("java.lang.Throwable"), "e");
- newMethod.insertAfter("{" + MethodInterceptor.class.getName() + ".after($class,$type,$_);}", true);
-
- ctClass.addMethod(newMethod);
- }
- return ctClass.toBytecode();
- } catch (Exception e) {
- logger.error("Failed to transform class " + className, e);
- return classfileBuffer;
- }
-
- }
-}
diff --git a/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/MethodInterceptor.java b/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/MethodInterceptor.java
deleted file mode 100644
index 84eebf99e..000000000
--- a/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/MethodInterceptor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.ai.cloud.skywalking.transformer;
-
-import com.ai.cloud.skywalking.api.IBuriedPointType;
-import com.ai.cloud.skywalking.invoke.monitor.LocalMethodInvokeMonitor;
-import com.ai.cloud.skywalking.model.Identification;
-import com.ai.cloud.skywalking.protocol.common.CallType;
-import com.google.gson.Gson;
-
-public class MethodInterceptor {
- public static IBuriedPointType METHOD_INVOKE_BURIEDPOINT = new IBuriedPointType() {
- @Override
- public String getTypeName() {
- return "LOCAL";
- }
-
- @Override
- public CallType getCallType() {
- return CallType.SYNC;
- }
- };
-
- public void before(Class originClass, Class[] parametersType, Object[] allArgument, Object superCall,
- String methodName) {
- LocalMethodInvokeMonitor localMethodInvokeMonitor = new LocalMethodInvokeMonitor();
- Identification.IdentificationBuilder identificationBuilder = Identification.newBuilder();
- identificationBuilder.viewPoint(generateViewPoint(originClass, parametersType, methodName));
- appendingParameters(allArgument, identificationBuilder);
- identificationBuilder.spanType(METHOD_INVOKE_BURIEDPOINT);
-
- localMethodInvokeMonitor.beforeInvoke(identificationBuilder.build());
-
- }
-
- private void appendingParameters(Object[] allArgument, Identification.IdentificationBuilder identificationBuilder) {
- Gson gson = new Gson();
- for (int i = 0; i < allArgument.length; i++) {
- try {
- identificationBuilder.addParameter(gson.toJson(allArgument[i]));
- } catch (Exception e) {
- identificationBuilder.addParameter("N/A");
- }
- }
- }
-
- private String generateViewPoint(Class originClass, Class[] parametersType, String methodName) {
- StringBuilder viewPoint = new StringBuilder(originClass.getName() + "." + methodName + "(");
- for (Class parameterType : parametersType) {
- viewPoint.append(parameterType.getClass() + ",");
- }
- viewPoint.append(")");
- return viewPoint.toString();
- }
-
-
- public void handleException(Throwable e) {
- new LocalMethodInvokeMonitor().occurException(e);
- }
-
-
- public void after(Class originClass, Class resultType, Object result) {
- String resultJson = null;
- if (!void.class.getName().equals(resultType.getName())) {
- try {
- resultJson = new Gson().toJson(result);
- } catch (Exception e) {
- resultJson = "N/A";
- }
- }
-
- new LocalMethodInvokeMonitor().afterInvoke(resultJson);
- }
-
-
-}
diff --git a/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/StaticMethodInterceptor.java b/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/StaticMethodInterceptor.java
deleted file mode 100644
index 72fbdd491..000000000
--- a/skywalking-collector/skywalking-api/src/main/java/com/ai/cloud/skywalking/transformer/StaticMethodInterceptor.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.ai.cloud.skywalking.transformer;
-
-public class StaticMethodInterceptor {
-
- public void intercept(Class originClass, Object[] allArgument) {
-
- }
-}
diff --git a/skywalking-collector/skywalking-sdk-plugin/tomcat-7.x-8.x-plugin/target/maven-archiver/pom.properties b/skywalking-collector/skywalking-sdk-plugin/tomcat-7.x-8.x-plugin/target/maven-archiver/pom.properties
new file mode 100644
index 000000000..2f82346d3
--- /dev/null
+++ b/skywalking-collector/skywalking-sdk-plugin/tomcat-7.x-8.x-plugin/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu Jul 28 13:53:54 CST 2016
+version=1.0-Final
+groupId=com.ai.cloud
+artifactId=tomcat-7.x-8.x-plugin