-
Notifications
You must be signed in to change notification settings - Fork 38.7k
Closed
Labels
in: webIssues in web modules (web, webmvc, webflux, websocket)Issues in web modules (web, webmvc, webflux, websocket)status: duplicateA duplicate of another issueA duplicate of another issuetype: enhancementA general enhancementA general enhancement
Description
George Baxter opened SPR-8737 and commented
Java has a concurrency issue when examining annotations on a method or method parameters (synchronized around a jam-wide weak hash map). In high concurrency environments, this becomes a bottleneck. The only current solution is to cache the annotations.
Currently, the MethodParameter class could cache the annotations based on the declaring class, the method and the parameter index. We might have been able to extend MethodParameter class to provide this caching, but unfortunately, the object is instantiated directly within the HandlerMethodInvoker.resolveHandlerArguments(..) (private method).
Currently a critical issue for us.
Affects: 3.0.5, 3.0.6
Issue Links:
- monitor contention at org.springframework.core.MethodParameter.getParameterAnnotations() [SPR-9298] #13936 monitor contention at org.springframework.core.MethodParameter.getParameterAnnotations() ("duplicates")
Metadata
Metadata
Assignees
Labels
in: webIssues in web modules (web, webmvc, webflux, websocket)Issues in web modules (web, webmvc, webflux, websocket)status: duplicateA duplicate of another issueA duplicate of another issuetype: enhancementA general enhancementA general enhancement