You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/11/19 05:59:34 UTC

[skywalking] branch master updated: fix: spring annotation inheritance problem #3847 (#3886)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 7e889d3  fix: spring annotation inheritance problem #3847 (#3886)
7e889d3 is described below

commit 7e889d34719a19b71020fcff396b3d718e8b8c43
Author: pop0505 <28...@qq.com>
AuthorDate: Tue Nov 19 13:59:21 2019 +0800

    fix: spring annotation inheritance problem #3847 (#3886)
---
 .../commons/interceptor/RequestMappingMethodInterceptor.java  |  5 +++--
 .../mvc/commons/interceptor/RestMappingMethodInterceptor.java | 11 ++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/RequestMappingMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/RequestMappingMethodInterceptor.java
index 38f9397..208800d 100644
--- a/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/RequestMappingMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/RequestMappingMethodInterceptor.java
@@ -18,6 +18,7 @@
 
 package org.apache.skywalking.apm.plugin.spring.mvc.commons.interceptor;
 
+import org.springframework.core.annotation.AnnotationUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import java.lang.reflect.Method;
@@ -32,7 +33,7 @@ public class RequestMappingMethodInterceptor extends AbstractMethodInterceptor {
     @Override
     public String getRequestURL(Method method) {
         String requestURL = "";
-        RequestMapping methodRequestMapping = method.getAnnotation(RequestMapping.class);
+        RequestMapping methodRequestMapping = AnnotationUtils.getAnnotation(method, RequestMapping.class);
         if (methodRequestMapping.value().length > 0) {
             requestURL = methodRequestMapping.value()[0];
         } else if (methodRequestMapping.path().length > 0) {
@@ -43,7 +44,7 @@ public class RequestMappingMethodInterceptor extends AbstractMethodInterceptor {
 
     @Override
     public String getAcceptedMethodTypes(Method method) {
-        RequestMapping methodRequestMapping = method.getAnnotation(RequestMapping.class);
+        RequestMapping methodRequestMapping = AnnotationUtils.getAnnotation(method, RequestMapping.class);
         StringBuilder methodTypes = new StringBuilder();
         if (methodRequestMapping.method().length > 0) {
             methodTypes.append("{");
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/RestMappingMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/RestMappingMethodInterceptor.java
index 086e059..d122604 100644
--- a/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/RestMappingMethodInterceptor.java
+++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/RestMappingMethodInterceptor.java
@@ -18,6 +18,7 @@
 
 package org.apache.skywalking.apm.plugin.spring.mvc.commons.interceptor;
 
+import org.springframework.core.annotation.AnnotationUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.lang.reflect.Method;
@@ -34,11 +35,11 @@ public class RestMappingMethodInterceptor extends AbstractMethodInterceptor {
     @Override
     public String getRequestURL(Method method) {
         String requestURL = "";
-        GetMapping getMapping = method.getAnnotation(GetMapping.class);
-        PostMapping postMapping = method.getAnnotation(PostMapping.class);
-        PutMapping putMapping = method.getAnnotation(PutMapping.class);
-        DeleteMapping deleteMapping = method.getAnnotation(DeleteMapping.class);
-        PatchMapping patchMapping = method.getAnnotation(PatchMapping.class);
+        GetMapping getMapping = AnnotationUtils.getAnnotation(method, GetMapping.class);
+        PostMapping postMapping = AnnotationUtils.getAnnotation(method, PostMapping.class);
+        PutMapping putMapping = AnnotationUtils.getAnnotation(method, PutMapping.class);
+        DeleteMapping deleteMapping = AnnotationUtils.getAnnotation(method, DeleteMapping.class);
+        PatchMapping patchMapping = AnnotationUtils.getAnnotation(method, PatchMapping.class);
         if (getMapping != null) {
             if (getMapping.value().length > 0) {
                 requestURL = getMapping.value()[0];