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

Programmatic annotation presence registry (allowing for index integration) #22578

Closed
philwebb opened this issue Mar 13, 2019 · 6 comments
Closed
Labels
in: core Issues in core modules (aop, beans, core, context, expression) status: declined A suggestion or change that we don't feel we should currently apply type: enhancement A general enhancement

Comments

@philwebb
Copy link
Member

Now that #22420 we have a central location that we can use to investigate if an annotation index can be used to limit the number of methods we need to search.

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Mar 13, 2019
@jhoeller jhoeller added in: core Issues in core modules (aop, beans, core, context, expression) type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged or decided on labels Mar 27, 2019
@jhoeller jhoeller added this to the 5.2 M2 milestone Mar 27, 2019
@jhoeller
Copy link
Contributor

jhoeller commented Mar 27, 2019

Alternatively, we could also just provide a registration SPI for annotation presence as originally sketched... and leave concrete index evaluation to the application's bootstrap code, so that Boot could evaluate any index format it wants on startup, simply populating the registration SPI with component class + annotation types found on it. If this is the path we'll take, let's narrow this ticket accordingly.

For 5.2 M2, we should make up our mind on this. The registration SPI prototype I had for AnnotationUtils.isCandidateClass worked pretty well. However, we should put it onto its own SPI class so that it can be conveniently delegated to from both AnnotationUtils and AnnotationsScanner.

@jhoeller jhoeller changed the title Investigate annotation index formats and update annotation processor Investigate an annotation presence registry and annotation index formats Mar 27, 2019
@jhoeller jhoeller modified the milestones: 5.2 M2, 5.2 M3 Apr 26, 2019
@jhoeller jhoeller modified the milestones: 5.2 M3, 5.2 RC1 Jun 11, 2019
@snicoll snicoll assigned philwebb and unassigned snicoll Jun 19, 2019
@snicoll
Copy link
Member

snicoll commented Jun 19, 2019

@philwebb reassigning to you as I understand you've been spiking on something lately.

@jhoeller jhoeller assigned jhoeller and unassigned philwebb Jun 19, 2019
@jhoeller
Copy link
Contributor

@philwebb I'll take the primary responsibility for this one, as per our discussion on Monday, adapting the scope of this ticket a bit. If there is concrete input towards an annotation index from Boot's side at some point, I'm happy to follow up on this one with such specific considerations in mind.

@jhoeller jhoeller changed the title Investigate an annotation presence registry and annotation index formats Programmatic annotation presence registry (allowing for index integration) Jun 19, 2019
@philwebb
Copy link
Member Author

@jhoeller Sounds good, I'd like to experiment with a few index ideas but I'll just hack with it on a branch for now. If you have something for this already, I'd love to take a look.

@philwebb
Copy link
Member Author

philwebb commented Aug 1, 2019

My experimental branch is at https://github.com/philwebb/spring-framework/tree/gh-22578

@jhoeller jhoeller modified the milestones: 5.2 RC1, 5.2 RC2 Aug 5, 2019
@jhoeller jhoeller modified the milestones: 5.2 RC2, 5.2 GA, 5.3 M1 Sep 4, 2019
@jhoeller jhoeller modified the milestones: 5.3 M1, 5.3 M2 May 13, 2020
@jhoeller jhoeller modified the milestones: 5.3 M2, 5.3 RC1 Jun 23, 2020
@jhoeller jhoeller modified the milestones: 5.3 RC1, 5.3 RC2 Aug 24, 2020
@jhoeller jhoeller modified the milestones: 5.3 RC2, 5.3 GA Sep 28, 2020
@jhoeller jhoeller modified the milestones: 5.3 GA, 5.x Backlog Oct 23, 2020
@sbrannen sbrannen removed this from the 6.x Backlog milestone Sep 27, 2022
@sbrannen sbrannen added the status: declined A suggestion or change that we don't feel we should currently apply label Sep 27, 2022
@sbrannen
Copy link
Member

Team Decision: in light of the lack of progress on this issue coupled with the advent of AOT support in the core framework, the team has decided not to pursue an annotation index or related features.

@sbrannen sbrannen closed this as not planned Won't fix, can't repro, duplicate, stale Sep 30, 2022
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) status: declined A suggestion or change that we don't feel we should currently apply type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

5 participants