Package org.thymeleaf.cache
Class StandardCacheManager
Object
org.thymeleaf.cache.AbstractCacheManager
org.thymeleaf.cache.StandardCacheManager
- All Implemented Interfaces:
ICacheManager
Standard implementation of ICacheManager
, returning
configurable instances of StandardCache
for each of
the default caches defined at the cache manager interface.
Each cache allows the configuration of the following parameters:
- Its name (will be displayed in logs).
- Its initial size: the size the cache will be initialized with.
- Its maximum size: the maximum size the cache will be allowed to reach.
Some special values:
-1
means no limit in size.0
means this cache will not be used at all (getXCache()
will returnnull
).
- Whether the cache should use soft references or not
(
java.lang.ref.SoftReference
). Using Soft References allows the cache to be memory-sensitive, allowing the garbage collector to dispose cache entries if memory is critical, before raising anOutOfMemoryError
. - The name of the logger that will output trace information for the
cache object. Configuring this allows a finer-grained log configuration that
allows the more effective inspection of cache behaviour. If not specifically
set,
org.thymeleaf.TemplateEngine.cache.${cacheName}
will be used. - An (optional) validity checker implementing
ICacheEntryValidityChecker
, which will be applied on each entry upon retrieval from cache in order to ensure it is still valid and can be used.
Note a class with this name existed since 2.0.0, but it was completely reimplemented in Thymeleaf 3.0
- Since:
- 3.0.0
- Author:
- Daniel Fernández
-
Field Summary
Modifier and TypeFieldDescriptionstatic final boolean
Default expression cache "enable counters" flag: falsestatic final int
Default expression cache initial size: 100static final String
Default expression cache logger name: null (default behaviour = org.thymeleaf.TemplateEngine.cache.EXPRESSION_CACHE)static final int
Default expression cache maximum size: 500static final String
Default expression cache name: "EXPRESSION_CACHE"static final boolean
Default expression cache "use soft references" flag: truestatic final ICacheEntryValidityChecker<ExpressionCacheKey,
Object> Default expression cache validity checker: nullstatic final boolean
Default template cache "enable counters" flag: falsestatic final int
Default template cache initial size: 20static final String
Default template cache logger name: null (default behaviour = org.thymeleaf.TemplateEngine.cache.TEMPLATE_CACHE)static final int
Default template cache maximum size: 200static final String
Default template cache name: "TEMPLATE_CACHE"static final boolean
Default template cache "use soft references" flag: truestatic final ICacheEntryValidityChecker<TemplateCacheKey,
TemplateModel> Default template cache validity checker: an instance ofStandardParsedTemplateEntryValidator
. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
final org.slf4j.Logger
int
boolean
int
final org.slf4j.Logger
int
boolean
protected final ICache<ExpressionCacheKey,
Object> protected final ICache<TemplateCacheKey,
TemplateModel> void
setExpressionCacheEnableCounters
(boolean expressionCacheEnableCounters) void
setExpressionCacheInitialSize
(int expressionCacheInitialSize) void
setExpressionCacheLoggerName
(String expressionCacheLoggerName) void
setExpressionCacheMaxSize
(int expressionCacheMaxSize) void
setExpressionCacheName
(String expressionCacheName) void
setExpressionCacheUseSoftReferences
(boolean expressionCacheUseSoftReferences) void
setExpressionCacheValidityChecker
(ICacheEntryValidityChecker<ExpressionCacheKey, Object> expressionCacheValidityChecker) void
setTemplateCacheEnableCounters
(boolean templateCacheEnableCounters) void
setTemplateCacheInitialSize
(int templateCacheInitialSize) void
setTemplateCacheLoggerName
(String templateCacheLoggerName) void
setTemplateCacheMaxSize
(int templateCacheMaxSize) void
setTemplateCacheName
(String templateCacheName) void
setTemplateCacheUseSoftReferences
(boolean templateCacheUseSoftReferences) void
setTemplateCacheValidityChecker
(ICacheEntryValidityChecker<TemplateCacheKey, TemplateModel> templateCacheValidityChecker) Methods inherited from class org.thymeleaf.cache.AbstractCacheManager
clearAllCaches, getAllSpecificCacheNames, getExpressionCache, getSpecificCache, getTemplateCache
-
Field Details
-
DEFAULT_TEMPLATE_CACHE_NAME
Default template cache name: "TEMPLATE_CACHE"- See Also:
-
DEFAULT_TEMPLATE_CACHE_INITIAL_SIZE
public static final int DEFAULT_TEMPLATE_CACHE_INITIAL_SIZEDefault template cache initial size: 20- See Also:
-
DEFAULT_TEMPLATE_CACHE_MAX_SIZE
public static final int DEFAULT_TEMPLATE_CACHE_MAX_SIZEDefault template cache maximum size: 200- See Also:
-
DEFAULT_TEMPLATE_CACHE_ENABLE_COUNTERS
public static final boolean DEFAULT_TEMPLATE_CACHE_ENABLE_COUNTERSDefault template cache "enable counters" flag: false- See Also:
-
DEFAULT_TEMPLATE_CACHE_USE_SOFT_REFERENCES
public static final boolean DEFAULT_TEMPLATE_CACHE_USE_SOFT_REFERENCESDefault template cache "use soft references" flag: true- See Also:
-
DEFAULT_TEMPLATE_CACHE_LOGGER_NAME
Default template cache logger name: null (default behaviour = org.thymeleaf.TemplateEngine.cache.TEMPLATE_CACHE) -
DEFAULT_TEMPLATE_CACHE_VALIDITY_CHECKER
public static final ICacheEntryValidityChecker<TemplateCacheKey,TemplateModel> DEFAULT_TEMPLATE_CACHE_VALIDITY_CHECKERDefault template cache validity checker: an instance ofStandardParsedTemplateEntryValidator
. -
DEFAULT_EXPRESSION_CACHE_NAME
Default expression cache name: "EXPRESSION_CACHE"- See Also:
-
DEFAULT_EXPRESSION_CACHE_INITIAL_SIZE
public static final int DEFAULT_EXPRESSION_CACHE_INITIAL_SIZEDefault expression cache initial size: 100- See Also:
-
DEFAULT_EXPRESSION_CACHE_MAX_SIZE
public static final int DEFAULT_EXPRESSION_CACHE_MAX_SIZEDefault expression cache maximum size: 500- See Also:
-
DEFAULT_EXPRESSION_CACHE_ENABLE_COUNTERS
public static final boolean DEFAULT_EXPRESSION_CACHE_ENABLE_COUNTERSDefault expression cache "enable counters" flag: false- See Also:
-
DEFAULT_EXPRESSION_CACHE_USE_SOFT_REFERENCES
public static final boolean DEFAULT_EXPRESSION_CACHE_USE_SOFT_REFERENCESDefault expression cache "use soft references" flag: true- See Also:
-
DEFAULT_EXPRESSION_CACHE_LOGGER_NAME
Default expression cache logger name: null (default behaviour = org.thymeleaf.TemplateEngine.cache.EXPRESSION_CACHE) -
DEFAULT_EXPRESSION_CACHE_VALIDITY_CHECKER
public static final ICacheEntryValidityChecker<ExpressionCacheKey,Object> DEFAULT_EXPRESSION_CACHE_VALIDITY_CHECKERDefault expression cache validity checker: null
-
-
Constructor Details
-
StandardCacheManager
public StandardCacheManager()
-
-
Method Details
-
initializeTemplateCache
- Specified by:
initializeTemplateCache
in classAbstractCacheManager
-
initializeExpressionCache
- Specified by:
initializeExpressionCache
in classAbstractCacheManager
-
getTemplateCacheName
-
getTemplateCacheUseSoftReferences
public boolean getTemplateCacheUseSoftReferences() -
getTemplateCacheInitialSize
public int getTemplateCacheInitialSize() -
getTemplateCacheMaxSize
public int getTemplateCacheMaxSize() -
getTemplateCacheLoggerName
-
getTemplateCacheValidityChecker
-
getTemplateCacheLogger
public final org.slf4j.Logger getTemplateCacheLogger() -
getExpressionCacheName
-
getExpressionCacheUseSoftReferences
public boolean getExpressionCacheUseSoftReferences() -
getExpressionCacheInitialSize
public int getExpressionCacheInitialSize() -
getExpressionCacheMaxSize
public int getExpressionCacheMaxSize() -
getExpressionCacheLoggerName
-
getExpressionCacheValidityChecker
-
getExpressionCacheLogger
public final org.slf4j.Logger getExpressionCacheLogger() -
setTemplateCacheName
-
setTemplateCacheInitialSize
public void setTemplateCacheInitialSize(int templateCacheInitialSize) -
setTemplateCacheMaxSize
public void setTemplateCacheMaxSize(int templateCacheMaxSize) -
setTemplateCacheUseSoftReferences
public void setTemplateCacheUseSoftReferences(boolean templateCacheUseSoftReferences) -
setTemplateCacheLoggerName
-
setTemplateCacheValidityChecker
public void setTemplateCacheValidityChecker(ICacheEntryValidityChecker<TemplateCacheKey, TemplateModel> templateCacheValidityChecker) -
setTemplateCacheEnableCounters
public void setTemplateCacheEnableCounters(boolean templateCacheEnableCounters) -
setExpressionCacheName
-
setExpressionCacheInitialSize
public void setExpressionCacheInitialSize(int expressionCacheInitialSize) -
setExpressionCacheMaxSize
public void setExpressionCacheMaxSize(int expressionCacheMaxSize) -
setExpressionCacheUseSoftReferences
public void setExpressionCacheUseSoftReferences(boolean expressionCacheUseSoftReferences) -
setExpressionCacheLoggerName
-
setExpressionCacheValidityChecker
public void setExpressionCacheValidityChecker(ICacheEntryValidityChecker<ExpressionCacheKey, Object> expressionCacheValidityChecker) -
setExpressionCacheEnableCounters
public void setExpressionCacheEnableCounters(boolean expressionCacheEnableCounters)
-