Closed
Description
Anton Zukovskij opened SPR-11882 and commented
On WebSphere application server (multi-node config) spring context initialization is very slow, our application has big classpath that causes classloader to be quite slow(see WAS_startup.png). After adding cache to ReflectionUtils.findMethod and AnnotationUtils.findAnnotation (see patch.patch) spring context seems to initialize a lot faster (see ReflectionUtils.png and AnnotationUtils.png).
Affects: 3.1.1, 3.2.4
Attachments:
- AnnotationUtils.png (16.97 kB)
- patch.patch (4.70 kB)
- ReflectionUtils.png (22.81 kB)
- WAS_startup.png (56.53 kB)
Issue Links:
- Major performance slowdown in AnnotationUtils.findAnnotation [SPR-7630] #12286 Major performance slowdown in AnnotationUtils.findAnnotation
- Performance regression for custom autowireBean calls with many properties [SPR-11875] #16494 Performance regression for custom autowireBean calls with many properties
- AnnotationUtils should use threadsafe ConcurrentMap (contention) [SPR-12878] #17476 AnnotationUtils should use threadsafe ConcurrentMap (contention)
- Make ReflectionUtils.doWithMethods work on Java 8 default interface methods [SPR-12822] #17419 Make ReflectionUtils.doWithMethods work on Java 8 default interface methods
- Comprehensively cache annotated methods for interfaces and superclasses [SPR-16675] #21216 Comprehensively cache annotated methods for interfaces and superclasses
- ReflectionUtils cache uses up a fairly big chunk of heap even [SPR-13783] #18357 ReflectionUtils cache uses up a fairly big chunk of heap even
- Avoid repeated superclass introspection in AnnotationUtils.findAnnotation [SPR-16730] #21271 Avoid repeated superclass introspection in AnnotationUtils.findAnnotation
- Improve performance of ReflectionUtils#getUniqueDeclaredMethods [SPR-10197] #14830 Improve performance of ReflectionUtils#getUniqueDeclaredMethods
Referenced from: commits 0298a1f, 5f695a4, 682a910
Backported to: 3.2.10