java.lang.Object
com.github._1c_syntax.bsl.languageserver.infrastructure.CacheConfiguration

@Configuration @EnableCaching public class CacheConfiguration extends Object
Spring-конфигурация кэширования.

Для typoCache используется EhCache с персистентным хранилищем на диске. Для остальных кэшей (например, code lens) используется Caffeine с хранением в памяти.

  • Constructor Details

    • CacheConfiguration

      public CacheConfiguration()
  • Method Details

    • cacheManager

      @Bean @Primary public CacheManager cacheManager(Caffeine<Object,Object> caffeine)
      Основной менеджер кэша, использующий Caffeine для кэширования в памяти.

      Помечен как @Primary, поэтому используется для всех кэшей по умолчанию, если не указан явно другой менеджер кэша (например, typoCacheManager для typoCache).

    • caffeineConfig

      @Bean public Caffeine<Object,Object> caffeineConfig()
    • ehcacheManager

      @Bean(destroyMethod="close") public CacheManager ehcacheManager(@Value("${app.cache.path}") String cacheDirPath)
      Выделенный менеджер EhCache для typoCache с персистентным хранением на диске.

      Настроен программно, без использования XML-конфигурации. При закрытии Spring-контекста вызывается метод close() для корректного завершения работы кэша.

    • typoCacheManager

      @Bean public CacheManager typoCacheManager(CacheManager ehcacheManager)