From 0b0a590431bf4e7a405134023e1a3533d04c2b3a Mon Sep 17 00:00:00 2001
From: Maciej Szarlinski <mszarlinski@gmail.com>
Date: Sat, 5 Nov 2016 13:21:16 +0100
Subject: [PATCH] Externalize properties

---
 .../vets/infrastructure/config/CacheConfig.java       | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

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 636881fa..9f960eb2 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));
         };
-- 
GitLab