assembler
assembler copied to clipboard
Use ServiceLoader mechanism to inject Cache Provider
The goal is to provide a default implementation of Cache per module/dependency (e.g. Caffeine cache, Spring cache, etc.).
This would allow, if e.g. assembler-cache-caffeine is present in the classpath, to write oneToOne(cached(this::callService)) instead of oneToOne(cached(this::callService, caffeineCache())), and still use the Caffeine implementation instead of the default one based on ConcurrentMap provided by the core assembler module.