Настройте время ожидания Ehcache TTL с помощью Spring Boot - PullRequest
0 голосов
/ 04 марта 2019

Как я могу настроить срок действия Ehcache Time To Live, настраиваемый с помощью обычной загрузки Spring application.properties / application.yml?

Свойства моего текущего приложения:

spring.cache.jcache.config=classpath:ehcache.xml

Мой ehcache.xml:

<config xmlns:jsr107='http://www.ehcache.org/v3/jsr107' xmlns='http://www.ehcache.org/v3'>
<service>
    <jsr107:defaults enable-management="true" enable-statistics="true"/>
</service>
<cache alias="Ttl" uses-template="ttl-template"/>
<cache-template name="ttl-template">
    <expiry>
        <ttl unit="minutes">6</ttl>
    </expiry>
    <resources>
        <heap>10000</heap>
    </resources>
 </cache-template>

Основной класс:

@SpringBootApplication
@EnableCaching
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
}

Можно ли настроить эти 6 минут для настройки, чтобы я мог перезаписать настройку во время выполнения / вклзапускать?Для большинства других интеграций Spring Boot будут некоторые свойства, которые позволят напрямую перезаписать конфигурацию.

1 Ответ

0 голосов
/ 04 марта 2019

Я думаю, что вы могли бы переключиться на программную конфигурацию и реализовать новый класс Properties, подобный тому, который они сделали для Jhipster: https://www.jhipster.tech/common-application-properties/

С этим классом они позволяют своим пользователям устанавливать TTL в конфигурации Spring, изатем вы можете настроить ваши Cache Managers программно; см. Этот пример в репозитории ehcache3-samples .

При загрузке Spring / Spring используются собственные абстракции кэша ( Spring Cache, полностью совместимый со спецификацией JSR-107 ), поэтому я не думаю, что их роль заключается в обеспечении дальнейшей интеграции с реализацией Ehcache3;может, однако, фреймворк, такой как JHipster или конечный пользователь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...