From 443d35eae23c874ed38305fbe75216339c41beaf Mon Sep 17 00:00:00 2001 From: Henri Tremblay Date: Thu, 16 Feb 2017 15:08:30 -0500 Subject: [PATCH 1/2] Put Ehcache back --- pom.xml | 10 ++++++++ .../samples/petclinic/system/CacheConfig.java | 24 +++++++++++++++---- src/main/resources/application.properties | 3 --- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index ca1a4c74b..82e78e181 100644 --- a/pom.xml +++ b/pom.xml @@ -79,6 +79,16 @@ runtime + + + javax.cache + cache-api + + + org.ehcache + ehcache + + org.webjars diff --git a/src/main/java/org/springframework/samples/petclinic/system/CacheConfig.java b/src/main/java/org/springframework/samples/petclinic/system/CacheConfig.java index 8798bfb50..4bc23bbe6 100755 --- a/src/main/java/org/springframework/samples/petclinic/system/CacheConfig.java +++ b/src/main/java/org/springframework/samples/petclinic/system/CacheConfig.java @@ -1,14 +1,30 @@ package org.springframework.samples.petclinic.system; +import javax.cache.configuration.Configuration; +import javax.cache.configuration.MutableConfiguration; + +import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer; import org.springframework.cache.annotation.EnableCaching; -import org.springframework.context.annotation.Configuration; +import org.springframework.cache.jcache.JCacheCacheManager; import org.springframework.context.annotation.Profile; /** - * Cache could be disable in unit test. + * Cache could be disabled in unit test. */ -@Configuration +@org.springframework.context.annotation.Configuration @EnableCaching @Profile("production") -class CacheConfig { +class CacheConfig implements CacheManagerCustomizer { + + @Override + public void customize(JCacheCacheManager cacheManager) { + Configuration cacheConfiguration = createCacheConfiguration(); + cacheManager.getCacheManager().createCache("vets", cacheConfiguration); + } + + private Configuration createCacheConfiguration() { + // Create a cache using infinite heap. A real application will want to use an implementation dependent + // configuration that will better fit your needs + return new MutableConfiguration<>().setStatisticsEnabled(true); + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index fb3e513c3..fb07c6c50 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -24,6 +24,3 @@ logging.level.org.springframework=INFO # Active Spring profiles spring.profiles.active=production - -# Caching -spring.cache.cache-names=vets From 75912a06c5613a2ea1305ad4d8ad6bc4be7765ce Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Fri, 17 Feb 2017 12:30:57 +0100 Subject: [PATCH 2/2] Polish contribution Closes gh-229 --- pom.xml | 2 +- .../samples/petclinic/system/CacheConfig.java | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 82e78e181..d879eb929 100644 --- a/pom.xml +++ b/pom.xml @@ -79,7 +79,7 @@ runtime - + javax.cache cache-api diff --git a/src/main/java/org/springframework/samples/petclinic/system/CacheConfig.java b/src/main/java/org/springframework/samples/petclinic/system/CacheConfig.java index 4bc23bbe6..13e194c35 100755 --- a/src/main/java/org/springframework/samples/petclinic/system/CacheConfig.java +++ b/src/main/java/org/springframework/samples/petclinic/system/CacheConfig.java @@ -3,9 +3,9 @@ package org.springframework.samples.petclinic.system; import javax.cache.configuration.Configuration; import javax.cache.configuration.MutableConfiguration; -import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer; +import org.springframework.boot.autoconfigure.cache.JCacheManagerCustomizer; import org.springframework.cache.annotation.EnableCaching; -import org.springframework.cache.jcache.JCacheCacheManager; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Profile; /** @@ -14,17 +14,19 @@ import org.springframework.context.annotation.Profile; @org.springframework.context.annotation.Configuration @EnableCaching @Profile("production") -class CacheConfig implements CacheManagerCustomizer { +class CacheConfig { - @Override - public void customize(JCacheCacheManager cacheManager) { - Configuration cacheConfiguration = createCacheConfiguration(); - cacheManager.getCacheManager().createCache("vets", cacheConfiguration); + @Bean + public JCacheManagerCustomizer cacheManagerCustomizer() { + return cm -> { + Configuration cacheConfiguration = createCacheConfiguration(); + cm.createCache("vets", cacheConfiguration); + }; } private Configuration createCacheConfiguration() { - // Create a cache using infinite heap. A real application will want to use an implementation dependent - // configuration that will better fit your needs + // Create a cache using infinite heap. A real application will want to use an + // implementation dependent configuration that will better fit your needs return new MutableConfiguration<>().setStatisticsEnabled(true); } }