diff --git a/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java b/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java index e4d7b42425430f4276a23378cec6fa4404460ba5..f5f6594826cf89f6da81e17691259b380b265f28 100755 --- a/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java +++ b/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java @@ -1,12 +1,16 @@ package org.springframework.samples.petclinic.system; -import javax.cache.configuration.MutableConfiguration; - import org.springframework.boot.autoconfigure.cache.JCacheManagerCustomizer; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import javax.cache.configuration.MutableConfiguration; + +/** + * Cache configuration intended for caches providing the JCache API. This configuration creates the used cache for the + * application and enables statistics that become accessible via JMX. + */ @Configuration @EnableCaching class CacheConfiguration { @@ -18,9 +22,14 @@ class CacheConfiguration { }; } + /** + * Create a simple configuration that enable statistics via the JCache programmatic configuration API. + * <p> + * Within the configuration object that is provided by the JCache API standard, there is only a very limited set of + * configuration options. The really relevant configuration options (like the size limit) must be set via a + * configuration mechanism that is provided by the selected JCache implementation. + */ private javax.cache.configuration.Configuration<Object, Object> cacheConfiguration() { - // Create a cache using infinite heap. A real application will want to use a more fine-grained configuration, - // possibly using an implementation-dependent API return new MutableConfiguration<>().setStatisticsEnabled(true); }