Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AopUtils.getMostSpecificMethod should expose dynamic proxy class methods [SPR-16757] #21298

Closed
spring-projects-issues opened this issue Apr 23, 2018 · 0 comments
Assignees
Labels
type: regression
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

@spring-projects-issues spring-projects-issues commented Apr 23, 2018

Juergen Hoeller opened SPR-16757 and commented

After the changes for #21218AopUtils.getMostSpecificMethod does not resolve proxy class methods anymore. It turns out that this is a regression for some scenarios, in particular for dynamic proxies as targets with their redeclaration of all interface methods at the most specific level. In order for Method.getDeclaringClass() to expose the concrete type again in such scenarios, we should rather revisit that algorithm to not specifically handle proxy class methods, just consistently skipping resolution for CGLIB cases (in particular configuration classes and lookup-method classes) as we did in a few places before already.


Affects: 5.0.5

Issue Links:

  • #21264 AspectJ execution pointcut does not detect methods in superinterface anymore
  • #21216 Comprehensively cache annotated methods for interfaces and superclasses
  • #21218 Mixed use BeanNameAutoProxyCreator and AnnotationAwareAspectJAutoProxyCreator to proxy same bean
  • #21343 AspectJ annotation pointcuts fail to evaluate against interface-based proxies
  • #21541 Spring 5.x DataSource proxying does not work with Oracle UCP on JDK 9+
  • #21319 Consistent target method resolution for event and caching expressions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: regression
Projects
None yet
Development

No branches or pull requests

2 participants