From 4c6a323e4d3364fa4fc607ae819c9abab36579f9 Mon Sep 17 00:00:00 2001 From: kezhenxu94 Date: Sat, 14 Dec 2019 19:41:58 +0800 Subject: [PATCH] Fix NullPointerException in Spring interceptor (#4063) --- .../plugin/spring/patch/GetPropertyDescriptorsInterceptor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/core-patch/src/main/java/org/apache/skywalking/apm/plugin/spring/patch/GetPropertyDescriptorsInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/core-patch/src/main/java/org/apache/skywalking/apm/plugin/spring/patch/GetPropertyDescriptorsInterceptor.java index d25ca0496a..276f842156 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/core-patch/src/main/java/org/apache/skywalking/apm/plugin/spring/patch/GetPropertyDescriptorsInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/core-patch/src/main/java/org/apache/skywalking/apm/plugin/spring/patch/GetPropertyDescriptorsInterceptor.java @@ -41,7 +41,8 @@ public class GetPropertyDescriptorsInterceptor implements InstanceMethodsAroundI PropertyDescriptor[] propertyDescriptors = (PropertyDescriptor[])ret; - if (EnhancedInstance.class.isAssignableFrom(((BeanWrapperImpl)objInst).getRootClass())) { + Class rootClass = ((BeanWrapperImpl) objInst).getRootClass(); + if (rootClass != null && EnhancedInstance.class.isAssignableFrom(rootClass)) { List newPropertyDescriptors = new ArrayList(); for (PropertyDescriptor descriptor : propertyDescriptors) { if (!"skyWalkingDynamicField".equals(descriptor.getName())) { -- GitLab