Hi team. It seems that in the current flow of invoking a RequestMapping endpoint, org.springframework.web.reactive.result.method.annotation.RequestMappingHandlerAdapter#handle is creating a new org.springframework.web.reactive.result.method.InvocableHandlerMethod for each new request (might be worth caching?), which then creates a new org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverComposite that seems to cache the argument resolvers, but is only valid for this single invocation.

My suggestion is to make the HandlerMethodArgumentResolver#argumentResolverCache inside HandlerMethodArgumentResolverComposite static to allow caching the resolvers between invocations, as the supportsParameter() seems like a pure function, as well as most implementations are using reflections to get the methods/arguments annotations which is not cheap.

Thanks

Comment From: rstoyanchev

Superseded by #29980.