From 4c7eda8e387518fc2d2d7ea2e46596b7cc943e96 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Tue, 5 Dec 2017 13:41:19 +0800 Subject: [PATCH] fix match failed issue --- .../match/ListenableFutureCallbackMatch.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/match/ListenableFutureCallbackMatch.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/match/ListenableFutureCallbackMatch.java index 311a6c3030..7de49c5570 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/match/ListenableFutureCallbackMatch.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/match/ListenableFutureCallbackMatch.java @@ -44,7 +44,7 @@ public class ListenableFutureCallbackMatch implements IndirectMatch { @Override public ElementMatcher.Junction buildJunction() { return not(nameStartsWith("org.springframework")). - and(hasSuperType(named(LISTENABLE_FUTURE_CALLBACK_CLASS_NAME))); + and(hasSuperType(named(LISTENABLE_FUTURE_CALLBACK_CLASS_NAME))); } @Override @@ -53,8 +53,12 @@ public class ListenableFutureCallbackMatch implements IndirectMatch { for (TypeDescription.Generic generic : typeDescription.getInterfaces()) { isMatch = isMatch || matchExactClass(generic); } - - return isMatch || matchExactClass(typeDescription.getSuperClass()); + + if (typeDescription.getSuperClass() != null) { + return isMatch || matchExactClass(typeDescription.getSuperClass()); + } else { + return isMatch; + } } private boolean matchExactClass(TypeDescription.Generic clazz) { -- GitLab