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

Overhaul annotation handling code #22560

Closed
23 tasks done
philwebb opened this issue Mar 11, 2019 · 1 comment
Closed
23 tasks done

Overhaul annotation handling code #22560

philwebb opened this issue Mar 11, 2019 · 1 comment
Labels
in: core Issues in core modules (aop, beans, core, context, expression) type: task A general task

Comments

@philwebb
Copy link
Member

philwebb commented Mar 11, 2019

This issue collects the various tasks and ideas related to overhauling our annotation handling code. This issue will be edited as additional ideas arise.

Prerequisites

These tasks will generally help with implementing the new API:

API Improvements

These are the core API related tasks:

Minor Performance Improvements

Initially the new API will cause an additional overhead. We can reclaim a few milliseconds in a few other areas of the framework to help:

Migrate classes to use the new API directly

A few classes would benefit from using the new annotations API directly. Especially relevant are any areas of the code that make several utils calls, when they could hold onto a MergedAnnotations instance:

Make use of annotation index

Indexing annotations to do less work may help performance.

Overhaul metadata code

The existing ASM based meta-data reader code currently recursively processes annotations. The new MergedAnnotations API may be suitable to expose directly. It might also be possible to not use ASM when reading meta-annotations and instead just use standard reflection.

Accidentally introduced regressions

@philwebb philwebb added the type: enhancement A general enhancement label Mar 11, 2019
@sbrannen sbrannen added the in: core Issues in core modules (aop, beans, core, context, expression) label Mar 12, 2019
@jhoeller jhoeller added this to the 5.2 RC1 milestone Mar 13, 2019
@jhoeller jhoeller modified the milestones: 5.2 RC1, 5.2 M2 Mar 23, 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
@jhoeller jhoeller modified the milestones: 5.2 RC1, 5.2 RC2 Jul 30, 2019
@jhoeller jhoeller modified the milestones: 5.2 RC2, 5.2 GA Sep 3, 2019
@jhoeller jhoeller modified the milestones: 5.2 GA, 5.3 M1 Sep 23, 2019
@jhoeller jhoeller modified the milestones: 5.3 M1, 5.3 M2 Jun 15, 2020
@jhoeller jhoeller assigned jhoeller and unassigned philwebb Jun 15, 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 added type: task A general task and removed type: enhancement A general enhancement labels 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
Copy link
Member

Closing this issue umbrella issue since all related issues have been addressed.

@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) type: task A general task
Projects
None yet
Development

No branches or pull requests

3 participants