diff --git a/petclinic-vets-service/src/main/java/org/springframework/samples/petclinic/vets/infrastructure/config/CacheConfig.java b/petclinic-vets-service/src/main/java/org/springframework/samples/petclinic/vets/infrastructure/config/CacheConfig.java index 636881fa70f780180c44a81dab07d003401d372a..9f960eb2d94fbeb0fdb0030e9ac8d27b0e8319b7 100644 --- a/petclinic-vets-service/src/main/java/org/springframework/samples/petclinic/vets/infrastructure/config/CacheConfig.java +++ b/petclinic-vets-service/src/main/java/org/springframework/samples/petclinic/vets/infrastructure/config/CacheConfig.java @@ -7,6 +7,7 @@ import org.ehcache.config.units.EntryUnit; import org.ehcache.expiry.Duration; import org.ehcache.expiry.Expirations; import org.ehcache.jsr107.Eh107Configuration; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.cache.JCacheManagerCustomizer; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; @@ -21,14 +22,20 @@ import java.util.concurrent.TimeUnit; @EnableCaching public class CacheConfig { + @Value("${vets.cache.ttl}") + private int cacheTtl; + + @Value("${vets.cache.heap-size}") + private int cacheHeapSize; + @Bean public JCacheManagerCustomizer cacheManagerCustomizer() { return cacheManager -> { CacheConfiguration<Object, Object> config = CacheConfigurationBuilder .newCacheConfigurationBuilder(Object.class, Object.class, ResourcePoolsBuilder.newResourcePoolsBuilder() - .heap(100, EntryUnit.ENTRIES)) - .withExpiry(Expirations.timeToLiveExpiration(Duration.of(60, TimeUnit.SECONDS))) + .heap(cacheHeapSize, EntryUnit.ENTRIES)) + .withExpiry(Expirations.timeToLiveExpiration(Duration.of(cacheTtl, TimeUnit.SECONDS))) .build(); cacheManager.createCache("vets", Eh107Configuration.fromEhcacheCacheConfiguration(config)); };