This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.2 by this push:
new 5d916cd2c1 fix: fix the signature error when using reflection to
access the
org.springframework.core.annotation.AnnotatedElementUtils#getMergedAnnotation
method (#14156)
5d916cd2c1 is described below
commit 5d916cd2c10ad3f21290bf25e338261c30cafbad
Author: jkoChen <[email protected]>
AuthorDate: Wed May 8 15:20:54 2024 +0800
fix: fix the signature error when using reflection to access the
org.springframework.core.annotation.AnnotatedElementUtils#getMergedAnnotation
method (#14156)
Fix the problem,the method
org.apache.dubbo.config.spring.util.AnnotationUtils#tryGetMergedAnnotation
utilizes reflection to access
org.springframework.core.annotation.AnnotatedElementUtils#getMergedAnnotation.
However, there is a signature mismatch in the method's input parameters,
which leads to an inability to retrieve the correct method.
Consequently, this results in the failure to obtain the
mergedAnnotation.
Co-authored-by: Albumen Kevin <[email protected]>
---
.../dubbo/config/spring/util/AnnotationUtils.java | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/util/AnnotationUtils.java
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/util/AnnotationUtils.java
index 02771ca121..35c1bfa932 100644
---
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/util/AnnotationUtils.java
+++
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/util/AnnotationUtils.java
@@ -444,21 +444,11 @@ public abstract class AnnotationUtils {
(_k) ->
ClassUtils.isPresent(ANNOTATED_ELEMENT_UTILS_CLASS_NAME, classLoader))) {
Class<?> annotatedElementUtilsClass =
resolveClassName(ANNOTATED_ELEMENT_UTILS_CLASS_NAME, classLoader);
// getMergedAnnotation method appears in the Spring Framework 4.2
- Method getMergedAnnotationMethod = findMethod(
- annotatedElementUtilsClass,
- "getMergedAnnotation",
- AnnotatedElement.class,
- Class.class,
- boolean.class,
- boolean.class);
+ Method getMergedAnnotationMethod =
+ findMethod(annotatedElementUtilsClass,
"getMergedAnnotation", AnnotatedElement.class, Class.class);
if (getMergedAnnotationMethod != null) {
- mergedAnnotation = (Annotation) invokeMethod(
- getMergedAnnotationMethod,
- null,
- annotatedElement,
- annotationType,
- classValuesAsString,
- nestedAnnotationsAsMap);
+ mergedAnnotation =
+ (Annotation) invokeMethod(getMergedAnnotationMethod,
null, annotatedElement, annotationType);
}
}