Как мне установить время кеширования для объектов в OSCache с использованием Spring-модулей?

У меня есть приложение, которое нуждается в некотором кешировании, и для некоторых полустатических данных я хочу, чтобы они оставались в кеше максимальное количество времени (например, 10 минут) до обновления. Моя система просто получает данные, но никогда не обновляет их, поэтому я понятия не имею, когда очищать кэш, используя это свойство. В документах OSCache такое время истечения может быть установлено как с помощью программного API, так и с помощью конфигурации taglib, но в документации по Spring-модулям об этом ничего не сказано.

Кто-нибудь знает, если / как это можно сделать?

2 ответа

Решение

Я понял. Ответ скрыт в собственном конфигурационном файле ehcache. Если для свойства timeToLiveSeconds установить значение "600", срок действия элемента в кэше истечет через десять минут.

Взгляните на https://springmodules.dev.java.net/docs/reference/0.8/html/cache.html

3.5.2. Модели кэширования, которые они предоставляют в качестве примера с org.springmodules.cache.provider.jcs.JcsCachingModel

попробуйте поиграть с org.springmodules.cache.provider.oscache.OsCacheCachingModel

исходный код с http://www.koders.com/java/fidB7163A5070666F5BD98F43D4324011D1A969ABD3.aspx?s=mcall%3Astring дает мне свойства

частная строка cronExpression;

private String [] группы;

приватное целое число refreshPeriod;

поэтому вам нужно установить свойство "refreshPeriod"

Другие вопросы по тегам