diff --git a/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/SkywalkingAgent.java b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/SkywalkingAgent.java index 68d3db2ce..11cc68691 100644 --- a/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/SkywalkingAgent.java +++ b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/SkywalkingAgent.java @@ -1,5 +1,6 @@ package com.ai.cloud.skywalking.agent; +import com.ai.cloud.skywalking.agent.junction.SkyWalkingEnhanceMatcher; import com.ai.cloud.skywalking.conf.AuthDesc; import com.ai.cloud.skywalking.conf.Config; import com.ai.cloud.skywalking.logging.LogManager; @@ -10,6 +11,7 @@ import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.description.NamedElement; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.dynamic.DynamicType; +import net.bytebuddy.matcher.BooleanMatcher; import net.bytebuddy.matcher.ElementMatcher; import net.bytebuddy.matcher.ElementMatchers; @@ -19,6 +21,7 @@ import java.net.URL; import java.util.List; import static net.bytebuddy.matcher.ElementMatchers.any; +import static net.bytebuddy.matcher.ElementMatchers.named; public class SkywalkingAgent { @@ -56,7 +59,11 @@ public class SkywalkingAgent { } private static ElementMatcher.Junction exclusivePackageClass() { - return any(); + return myMatcher(); + } + + private static ElementMatcher.Junction myMatcher() { + return new SkyWalkingEnhanceMatcher(); } diff --git a/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/AbstractJunction.java b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/AbstractJunction.java new file mode 100644 index 000000000..4fbb4c962 --- /dev/null +++ b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/AbstractJunction.java @@ -0,0 +1,18 @@ +package com.ai.cloud.skywalking.agent.junction; + +import net.bytebuddy.matcher.ElementMatcher; + +/** + * Created by wusheng on 16/7/31. + */ +public abstract class AbstractJunction implements ElementMatcher.Junction { + @Override + public Junction and(ElementMatcher other) { + return new Conjunction(this, other); + } + + @Override + public Junction or(ElementMatcher other) { + return new Disjunction(this, other); + } +} diff --git a/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/SkyWalkingEnhanceMatcher.java b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/SkyWalkingEnhanceMatcher.java new file mode 100644 index 000000000..38b30b129 --- /dev/null +++ b/skywalking-collector/skywalking-agent/src/main/java/com/ai/cloud/skywalking/agent/junction/SkyWalkingEnhanceMatcher.java @@ -0,0 +1,13 @@ +package com.ai.cloud.skywalking.agent.junction; + +import net.bytebuddy.description.NamedElement; + +/** + * Created by wusheng on 16/7/31. + */ +public class SkyWalkingEnhanceMatcher extends AbstractJunction { + @Override + public boolean matches(T target) { + return false; + } +}