-
Notifications
You must be signed in to change notification settings - Fork 41.6k
Description
The ConcurrentReferenceCachingMetadataReaderFactory type has been present since Spring Boot 1.4 and its main difference with Framework's CachingMetadataReaderFactory is that it is also caching entries by their class names, effectively bypassing a resource loader call.
Since spring-projects/spring-framework#33616, Spring Framework can now use the ClassFile API if a Java 24+ runtime is used. ConcurrentReferenceCachingMetadataReaderFactory extends the ASM-powered version and will prevent the ClassFile variant from being used.
This is a problem because the ClassFile API allows Spring Boot applications to use recent Java versions (even branch builds!), especially if the bytecode version is not yet supported by our ASM arrangement.
With this issue, we should consider removing this type and maybe request an enhancement in Framework's CachingMetadataReaderFactory if we believe the performance improvement is still worth it these days.