Skip to content

Remove ConcurrentReferenceCachingMetadataReaderFactory #47687

@bclozel

Description

@bclozel

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.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions