Class StandardCacheManager

  • All Implemented Interfaces:
    ICacheManager

    public class StandardCacheManager
    extends AbstractCacheManager

    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 return null).
    • 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 an OutOfMemoryError.
    • 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 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_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)
    • Constructor Detail

      • StandardCacheManager

        public StandardCacheManager()
    • Method Detail

      • getTemplateCacheName

        public String getTemplateCacheName()
      • getTemplateCacheUseSoftReferences

        public boolean getTemplateCacheUseSoftReferences()
      • getTemplateCacheInitialSize

        public int getTemplateCacheInitialSize()
      • getTemplateCacheMaxSize

        public int getTemplateCacheMaxSize()
      • getTemplateCacheLoggerName

        public String getTemplateCacheLoggerName()
      • 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()
      • 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)
      • 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)
      • setExpressionCacheEnableCounters

        public void setExpressionCacheEnableCounters​(boolean expressionCacheEnableCounters)