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(); }