diff --git a/build.gradle b/build.gradle index 37d22c54f9..cb69c3ee8f 100644 --- a/build.gradle +++ b/build.gradle @@ -32,7 +32,7 @@ configure(allprojects) { project -> version = qualifyVersionIfNecessary(version) ext.aspectjVersion = "1.9.0.BETA-3" - ext.caffeineVersion = "2.0.3" + ext.caffeineVersion = "2.1.0" ext.eclipselinkVersion = "2.4.2" ext.ehcacheVersion = "2.10.1" ext.ehcachejcacheVersion = "1.0.1" diff --git a/spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCache.java b/spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCache.java index 64cfcd61b3..d9fcec586a 100644 --- a/spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCache.java +++ b/spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCache.java @@ -29,7 +29,7 @@ import org.springframework.util.Assert; * Spring {@link org.springframework.cache.Cache} adapter implementation * on top of a Caffeine {@link com.github.benmanes.caffeine.cache.Cache} instance. * - *
Requires Caffeine 2.0 or higher. + *
Requires Caffeine 2.1 or higher. * * @author Ben Manes * @author Juergen Hoeller diff --git a/spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCacheManager.java b/spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCacheManager.java index c7a18f4a4c..bedcff29e6 100644 --- a/spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCacheManager.java +++ b/spring-context-support/src/main/java/org/springframework/cache/caffeine/CaffeineCacheManager.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import java.util.concurrent.ConcurrentMap; import com.github.benmanes.caffeine.cache.CacheLoader; import com.github.benmanes.caffeine.cache.Caffeine; +import com.github.benmanes.caffeine.cache.CaffeineSpec; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; @@ -38,10 +39,12 @@ import org.springframework.util.ObjectUtils; * with no dynamic creation of further cache regions at runtime. * *
The configuration of the underlying cache can be fine-tuned through a - * {@link Caffeine} builder, passed into this CacheManager through - * {@link #setCaffeine}. + * {@link Caffeine} builder or {@link CaffeineSpec}, passed into this + * CacheManager through {@link #setCaffeine}/{@link #setCaffeineSpec}. + * A {@link CaffeineSpec}-compliant expression value can also be applied + * via the {@link #setCacheSpecification "cacheSpecification"} bean property. * - *
Requires Caffeine 2.0 or higher. + *
Requires Caffeine 2.1 or higher. * * @author Ben Manes * @author Juergen Hoeller @@ -103,9 +106,30 @@ public class CaffeineCacheManager implements CacheManager { * @see #createNativeCaffeineCache * @see com.github.benmanes.caffeine.cache.Caffeine#build() */ - public void setCaffeine(Caffeine