diff --git a/src/main/java/com/avaje/ebean/annotation/CacheTuning.java b/src/main/java/com/avaje/ebean/annotation/CacheBeanTuning.java similarity index 84% rename from src/main/java/com/avaje/ebean/annotation/CacheTuning.java rename to src/main/java/com/avaje/ebean/annotation/CacheBeanTuning.java index 85b400936..546f50d5f 100644 --- a/src/main/java/com/avaje/ebean/annotation/CacheTuning.java +++ b/src/main/java/com/avaje/ebean/annotation/CacheBeanTuning.java @@ -6,14 +6,15 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * Specify cache tuning for a specific entity type. + * Cache tuning hints for the L2 bean cache of a specific entity type. *

- * If this is not specified then the system default settings are used. + * Note that this is not useful when distributed L2 bean caches are used like + * ElasticSearch, Hazelcast, Ignite etc. *

*/ @Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) -public @interface CacheTuning { +public @interface CacheBeanTuning { /** * The maximum size for the cache. diff --git a/src/main/java/com/avaje/ebean/cache/ServerCacheOptions.java b/src/main/java/com/avaje/ebean/cache/ServerCacheOptions.java index 493ae8c21..35c3443f2 100644 --- a/src/main/java/com/avaje/ebean/cache/ServerCacheOptions.java +++ b/src/main/java/com/avaje/ebean/cache/ServerCacheOptions.java @@ -1,7 +1,7 @@ package com.avaje.ebean.cache; import com.avaje.ebean.annotation.CacheQueryTuning; -import com.avaje.ebean.annotation.CacheTuning; +import com.avaje.ebean.annotation.CacheBeanTuning; /** * Options for controlling a cache. @@ -23,11 +23,11 @@ public class ServerCacheOptions { /** * Create from the cacheTuning deployment annotation. */ - public ServerCacheOptions(CacheTuning cacheTuning) { - this.maxSize = cacheTuning.maxSize(); - this.maxIdleSecs = cacheTuning.maxIdleSecs(); - this.maxSecsToLive = cacheTuning.maxSecsToLive(); - this.trimFrequency = cacheTuning.trimFrequency(); + public ServerCacheOptions(CacheBeanTuning tuning) { + this.maxSize = tuning.maxSize(); + this.maxIdleSecs = tuning.maxIdleSecs(); + this.maxSecsToLive = tuning.maxSecsToLive(); + this.trimFrequency = tuning.trimFrequency(); } /** diff --git a/src/main/java/com/avaje/ebeaninternal/server/cache/DefaultCacheHolder.java b/src/main/java/com/avaje/ebeaninternal/server/cache/DefaultCacheHolder.java index ae0accd8b..5834986d2 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/cache/DefaultCacheHolder.java +++ b/src/main/java/com/avaje/ebeaninternal/server/cache/DefaultCacheHolder.java @@ -1,7 +1,7 @@ package com.avaje.ebeaninternal.server.cache; import com.avaje.ebean.annotation.CacheQueryTuning; -import com.avaje.ebean.annotation.CacheTuning; +import com.avaje.ebean.annotation.CacheBeanTuning; import com.avaje.ebean.cache.ServerCache; import com.avaje.ebean.cache.ServerCacheFactory; import com.avaje.ebean.cache.ServerCacheOptions; @@ -109,9 +109,9 @@ public class DefaultCacheHolder { } private ServerCacheOptions getBeanOptions(Class cls) { - CacheTuning cacheTuning = cls.getAnnotation(CacheTuning.class); - if (cacheTuning != null) { - ServerCacheOptions o = new ServerCacheOptions(cacheTuning); + CacheBeanTuning tuning = cls.getAnnotation(CacheBeanTuning.class); + if (tuning != null) { + ServerCacheOptions o = new ServerCacheOptions(tuning); o.applyDefaults(defaultOptions); return o; } diff --git a/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/AnnotationClass.java b/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/AnnotationClass.java index ae2a1cd63..d1165812d 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/AnnotationClass.java +++ b/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/AnnotationClass.java @@ -1,7 +1,7 @@ package com.avaje.ebeaninternal.server.deploy.parse; import com.avaje.ebean.annotation.CacheStrategy; -import com.avaje.ebean.annotation.CacheTuning; +import com.avaje.ebean.annotation.CacheBeanTuning; import com.avaje.ebean.annotation.DbComment; import com.avaje.ebean.annotation.DocStore; import com.avaje.ebean.annotation.Draftable; @@ -203,21 +203,21 @@ public class AnnotationClass extends AnnotationParser { } CacheStrategy cacheStrategy = cls.getAnnotation(CacheStrategy.class); - CacheTuning cacheTuning = cls.getAnnotation(CacheTuning.class); - if (cacheStrategy != null || cacheTuning != null) { - readCacheStrategy(cacheStrategy, cacheTuning); + CacheBeanTuning cacheBeanTuning = cls.getAnnotation(CacheBeanTuning.class); + if (cacheStrategy != null || cacheBeanTuning != null) { + readCacheStrategy(cacheStrategy, cacheBeanTuning); } } - private void readCacheStrategy(CacheStrategy cacheStrategy, CacheTuning cacheTuning) { + private void readCacheStrategy(CacheStrategy cacheStrategy, CacheBeanTuning cacheBeanTuning) { if (disableL2Cache) { return; } CacheOptions cacheOptions = descriptor.getCacheOptions(); - if (cacheTuning != null) { - cacheOptions.setMaxSecsToLive(cacheTuning.maxSecsToLive()); - cacheOptions.setMaxIdleSecs(cacheTuning.maxIdleSecs()); + if (cacheBeanTuning != null) { + cacheOptions.setMaxSecsToLive(cacheBeanTuning.maxSecsToLive()); + cacheOptions.setMaxIdleSecs(cacheBeanTuning.maxIdleSecs()); } if (cacheStrategy != null) { cacheOptions.setUseCache(cacheStrategy.useBeanCache()); diff --git a/src/test/java/com/avaje/tests/model/basic/Article.java b/src/test/java/com/avaje/tests/model/basic/Article.java index bd507166d..d83365e05 100644 --- a/src/test/java/com/avaje/tests/model/basic/Article.java +++ b/src/test/java/com/avaje/tests/model/basic/Article.java @@ -1,7 +1,7 @@ package com.avaje.tests.model.basic; import com.avaje.ebean.annotation.CacheStrategy; -import com.avaje.ebean.annotation.CacheTuning; +import com.avaje.ebean.annotation.CacheBeanTuning; import javax.persistence.CascadeType; import javax.persistence.Entity; @@ -11,7 +11,7 @@ import java.util.List; @CacheStrategy -@CacheTuning(maxSecsToLive = 45) +@CacheBeanTuning(maxSecsToLive = 45) @Entity public class Article extends BasicDomain { diff --git a/src/test/java/com/avaje/tests/model/basic/Country.java b/src/test/java/com/avaje/tests/model/basic/Country.java index 177df1636..1397b1aea 100644 --- a/src/test/java/com/avaje/tests/model/basic/Country.java +++ b/src/test/java/com/avaje/tests/model/basic/Country.java @@ -1,7 +1,7 @@ package com.avaje.tests.model.basic; import com.avaje.ebean.annotation.CacheStrategy; -import com.avaje.ebean.annotation.CacheTuning; +import com.avaje.ebean.annotation.CacheBeanTuning; import com.avaje.ebean.annotation.ChangeLog; import com.avaje.ebean.annotation.ChangeLogInsertMode; import com.avaje.ebean.annotation.DocStore; @@ -19,7 +19,7 @@ import javax.validation.constraints.Size; @ReadAudit @ChangeLog(inserts = ChangeLogInsertMode.INCLUDE) @CacheStrategy(readOnly = true) -@CacheTuning(maxSize = 500) +@CacheBeanTuning(maxSize = 500) @Entity @Table(name = "o_country") public class Country {