Class CacheConfiguration
Для typoCache используется EhCache с персистентным хранилищем на диске. Для остальных кэшей (например, code lens) используется Caffeine с хранением в памяти.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncacheManager(Caffeine<Object, Object> caffeine) Основной менеджер кэша, использующий Caffeine для кэширования в памяти.ehcacheManager(CachePathProvider cachePathProvider, String basePath, String fullPath) Выделенный менеджер EhCache для typoCache с персистентным хранением на диске.typoCacheManager(CacheManager ehcacheManager)
-
Constructor Details
-
CacheConfiguration
public CacheConfiguration()
-
-
Method Details
-
cacheManager
Основной менеджер кэша, использующий Caffeine для кэширования в памяти.Помечен как
@Primary, поэтому используется для всех кэшей по умолчанию, если не указан явно другой менеджер кэша (например,typoCacheManagerдля typoCache). -
caffeineConfig
-
ehcacheManager
@Bean(destroyMethod="close") public CacheManager ehcacheManager(CachePathProvider cachePathProvider, @Value("${app.cache.basePath}") String basePath, @Value("${app.cache.fullPath}") String fullPath) Выделенный менеджер EhCache для typoCache с персистентным хранением на диске.Настроен программно, без использования XML-конфигурации. При закрытии Spring-контекста вызывается метод
close()для корректного завершения работы кэша.Кэш размещается в каталоге пользователя, что позволяет избежать захламления git-репозиториев. Путь можно переопределить через свойство
app.cache.fullPath.При запуске нескольких экземпляров в одной директории автоматически используются отдельные каталоги кэша с суффиксами @1, @2 и т.д. Если все каталоги заблокированы (более 10 экземпляров), автоматически используется кэш в памяти без персистентности.
-
typoCacheManager
-