Package org.thymeleaf.cache
Class StandardCacheManager
- Object
-
- org.thymeleaf.cache.AbstractCacheManager
-
- org.thymeleaf.cache.StandardCacheManager
-
- All Implemented Interfaces:
ICacheManager
public class StandardCacheManager extends AbstractCacheManager
Standard implementation of
ICacheManager
, returning configurable instances ofStandardCache
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
Fields Modifier and Type Field Description static boolean
DEFAULT_EXPRESSION_CACHE_ENABLE_COUNTERS
Default expression cache "enable counters" flag: falsestatic int
DEFAULT_EXPRESSION_CACHE_INITIAL_SIZE
Default expression cache initial size: 100static String
DEFAULT_EXPRESSION_CACHE_LOGGER_NAME
Default expression cache logger name: null (default behaviour = org.thymeleaf.TemplateEngine.cache.EXPRESSION_CACHE)static int
DEFAULT_EXPRESSION_CACHE_MAX_SIZE
Default expression cache maximum size: 500static String
DEFAULT_EXPRESSION_CACHE_NAME
Default expression cache name: "EXPRESSION_CACHE"static boolean
DEFAULT_EXPRESSION_CACHE_USE_SOFT_REFERENCES
Default expression cache "use soft references" flag: truestatic ICacheEntryValidityChecker<ExpressionCacheKey,Object>
DEFAULT_EXPRESSION_CACHE_VALIDITY_CHECKER
Default expression cache validity checker: nullstatic boolean
DEFAULT_TEMPLATE_CACHE_ENABLE_COUNTERS
Default template cache "enable counters" flag: falsestatic int
DEFAULT_TEMPLATE_CACHE_INITIAL_SIZE
Default template cache initial size: 20static String
DEFAULT_TEMPLATE_CACHE_LOGGER_NAME
Default template cache logger name: null (default behaviour = org.thymeleaf.TemplateEngine.cache.TEMPLATE_CACHE)static int
DEFAULT_TEMPLATE_CACHE_MAX_SIZE
Default template cache maximum size: 200static String
DEFAULT_TEMPLATE_CACHE_NAME
Default template cache name: "TEMPLATE_CACHE"static boolean
DEFAULT_TEMPLATE_CACHE_USE_SOFT_REFERENCES
Default template cache "use soft references" flag: truestatic ICacheEntryValidityChecker<TemplateCacheKey,TemplateModel>
DEFAULT_TEMPLATE_CACHE_VALIDITY_CHECKER
Default template cache validity checker: an instance ofStandardParsedTemplateEntryValidator
.
-
Constructor Summary
Constructors Constructor Description StandardCacheManager()
-
Method Summary
-
Methods inherited from class org.thymeleaf.cache.AbstractCacheManager
clearAllCaches, getAllSpecificCacheNames, getExpressionCache, getSpecificCache, getTemplateCache
-
-
-
-
Field Detail
-
DEFAULT_TEMPLATE_CACHE_NAME
public static final String DEFAULT_TEMPLATE_CACHE_NAME
Default template cache name: "TEMPLATE_CACHE"- See Also:
- Constant Field Values
-
DEFAULT_TEMPLATE_CACHE_INITIAL_SIZE
public static final int DEFAULT_TEMPLATE_CACHE_INITIAL_SIZE
Default template cache initial size: 20- See Also:
- Constant Field Values
-
DEFAULT_TEMPLATE_CACHE_MAX_SIZE
public static final int DEFAULT_TEMPLATE_CACHE_MAX_SIZE
Default template cache maximum size: 200- See Also:
- Constant Field Values
-
DEFAULT_TEMPLATE_CACHE_ENABLE_COUNTERS
public static final boolean DEFAULT_TEMPLATE_CACHE_ENABLE_COUNTERS
Default template cache "enable counters" flag: false- See Also:
- Constant Field Values
-
DEFAULT_TEMPLATE_CACHE_USE_SOFT_REFERENCES
public static final boolean DEFAULT_TEMPLATE_CACHE_USE_SOFT_REFERENCES
Default template cache "use soft references" flag: true- See Also:
- Constant Field Values
-
DEFAULT_TEMPLATE_CACHE_LOGGER_NAME
public static final String 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_CHECKER
Default template cache validity checker: an instance ofStandardParsedTemplateEntryValidator
.
-
DEFAULT_EXPRESSION_CACHE_NAME
public static final String DEFAULT_EXPRESSION_CACHE_NAME
Default expression cache name: "EXPRESSION_CACHE"- See Also:
- Constant Field Values
-
DEFAULT_EXPRESSION_CACHE_INITIAL_SIZE
public static final int DEFAULT_EXPRESSION_CACHE_INITIAL_SIZE
Default expression cache initial size: 100- See Also:
- Constant Field Values
-
DEFAULT_EXPRESSION_CACHE_MAX_SIZE
public static final int DEFAULT_EXPRESSION_CACHE_MAX_SIZE
Default expression cache maximum size: 500- See Also:
- Constant Field Values
-
DEFAULT_EXPRESSION_CACHE_ENABLE_COUNTERS
public static final boolean DEFAULT_EXPRESSION_CACHE_ENABLE_COUNTERS
Default expression cache "enable counters" flag: false- See Also:
- Constant Field Values
-
DEFAULT_EXPRESSION_CACHE_USE_SOFT_REFERENCES
public static final boolean DEFAULT_EXPRESSION_CACHE_USE_SOFT_REFERENCES
Default expression cache "use soft references" flag: true- See Also:
- Constant Field Values
-
DEFAULT_EXPRESSION_CACHE_LOGGER_NAME
public static final String 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_CHECKER
Default expression cache validity checker: null
-
-
Method Detail
-
initializeTemplateCache
protected final ICache<TemplateCacheKey,TemplateModel> initializeTemplateCache()
- Specified by:
initializeTemplateCache
in classAbstractCacheManager
-
initializeExpressionCache
protected final ICache<ExpressionCacheKey,Object> initializeExpressionCache()
- Specified by:
initializeExpressionCache
in classAbstractCacheManager
-
getTemplateCacheName
public String getTemplateCacheName()
-
getTemplateCacheUseSoftReferences
public boolean getTemplateCacheUseSoftReferences()
-
getTemplateCacheInitialSize
public int getTemplateCacheInitialSize()
-
getTemplateCacheMaxSize
public int getTemplateCacheMaxSize()
-
getTemplateCacheLoggerName
public String getTemplateCacheLoggerName()
-
getTemplateCacheValidityChecker
public ICacheEntryValidityChecker<TemplateCacheKey,TemplateModel> getTemplateCacheValidityChecker()
-
getTemplateCacheLogger
public final org.slf4j.Logger getTemplateCacheLogger()
-
getExpressionCacheName
public String getExpressionCacheName()
-
getExpressionCacheUseSoftReferences
public boolean getExpressionCacheUseSoftReferences()
-
getExpressionCacheInitialSize
public int getExpressionCacheInitialSize()
-
getExpressionCacheMaxSize
public int getExpressionCacheMaxSize()
-
getExpressionCacheLoggerName
public String getExpressionCacheLoggerName()
-
getExpressionCacheValidityChecker
public ICacheEntryValidityChecker<ExpressionCacheKey,Object> getExpressionCacheValidityChecker()
-
getExpressionCacheLogger
public final org.slf4j.Logger getExpressionCacheLogger()
-
setTemplateCacheName
public void setTemplateCacheName(String templateCacheName)
-
setTemplateCacheInitialSize
public void setTemplateCacheInitialSize(int templateCacheInitialSize)
-
setTemplateCacheMaxSize
public void setTemplateCacheMaxSize(int templateCacheMaxSize)
-
setTemplateCacheUseSoftReferences
public void setTemplateCacheUseSoftReferences(boolean templateCacheUseSoftReferences)
-
setTemplateCacheLoggerName
public void setTemplateCacheLoggerName(String templateCacheLoggerName)
-
setTemplateCacheValidityChecker
public void setTemplateCacheValidityChecker(ICacheEntryValidityChecker<TemplateCacheKey,TemplateModel> templateCacheValidityChecker)
-
setTemplateCacheEnableCounters
public void setTemplateCacheEnableCounters(boolean templateCacheEnableCounters)
-
setExpressionCacheName
public void setExpressionCacheName(String expressionCacheName)
-
setExpressionCacheInitialSize
public void setExpressionCacheInitialSize(int expressionCacheInitialSize)
-
setExpressionCacheMaxSize
public void setExpressionCacheMaxSize(int expressionCacheMaxSize)
-
setExpressionCacheUseSoftReferences
public void setExpressionCacheUseSoftReferences(boolean expressionCacheUseSoftReferences)
-
setExpressionCacheLoggerName
public void setExpressionCacheLoggerName(String expressionCacheLoggerName)
-
setExpressionCacheValidityChecker
public void setExpressionCacheValidityChecker(ICacheEntryValidityChecker<ExpressionCacheKey,Object> expressionCacheValidityChecker)
-
setExpressionCacheEnableCounters
public void setExpressionCacheEnableCounters(boolean expressionCacheEnableCounters)
-
-