From e63e0332637227c3819dd5cb1050b1550b2309de Mon Sep 17 00:00:00 2001 From: ascrutae Date: Tue, 5 Dec 2017 00:56:58 +0800 Subject: [PATCH] fix match failed issue --- .../apm/agent/core/plugin/match/HierarchyMatch.java | 4 +++- .../plugin/spring/concurrent/match/EitherInterfaceMatch.java | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/match/HierarchyMatch.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/match/HierarchyMatch.java index 0e747b172..b8375f80f 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/match/HierarchyMatch.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/plugin/match/HierarchyMatch.java @@ -72,7 +72,9 @@ public class HierarchyMatch implements IndirectMatch { matchHierarchyClass(implInterface, parentTypes); } - matchHierarchyClass(typeDescription.getSuperClass(), parentTypes); + if (typeDescription.getSuperClass() != null) { + matchHierarchyClass(typeDescription.getSuperClass(), parentTypes); + } if (parentTypes.size() == 0) { return true; 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/EitherInterfaceMatch.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/match/EitherInterfaceMatch.java index 632e04ec4..1e2abf20d 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/match/EitherInterfaceMatch.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/concurrent-util-4.x-plugin/src/main/java/org/skywalking/apm/plugin/spring/concurrent/match/EitherInterfaceMatch.java @@ -56,7 +56,10 @@ public abstract class EitherInterfaceMatch implements IndirectMatch { matchHierarchyClazz(generic, matchResult); } - matchHierarchyClazz(typeDescription.getSuperClass(), matchResult); + if (typeDescription.getSuperClass() != null) { + matchHierarchyClazz(typeDescription.getSuperClass(), matchResult); + } + return matchResult.result(); }