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

CachedIntrospectionResults should use BeanInfoFactory when introspecting implemented interfaces [SPR-16322] #20869

Closed
spring-projects-issues opened this issue Dec 22, 2017 · 2 comments
Assignees
Labels
in: core Issues in core modules (aop, beans, core, context, expression) type: enhancement A general enhancement
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

spring-projects-issues commented Dec 22, 2017

Phil Webb opened SPR-16322 and commented

#18772 updated CachedIntrospectionResults to explicitly introspect implemented interfaces (for Java 8 default methods), however it directly calls Introspector.getBeanInfo and I believe it should probably try the BeanInfoFactory implementations first, in case a custom introspection method is being used.

It's also possible to skip the Serializable interface and stop when Object is reached (rather than null).


Affects: 5.0.2

Issue Links:

Referenced from: pull request #1631, and commits 45828cb

@spring-projects-issues
Copy link
Collaborator Author

spring-projects-issues commented Dec 22, 2017

Phil Webb commented

#1631

@spring-projects-issues
Copy link
Collaborator Author

spring-projects-issues commented Jan 8, 2018

Juergen Hoeller commented

I've applied a fresh implementation of these points, with a common ClassUtils.isJavaLanguageInterface delegate shared with Conventions where not only Serializable but also Externalizable, Cloneable and Comparable are being ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: core Issues in core modules (aop, beans, core, context, expression) type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

2 participants