2016-10-14 1 views
11

В EHCache 3.1.3 API 2.x для установки стратегии сохранения отсутствует, например, перечисление net.sf.ehcache.config.PersistenceConfiguration.Strategy больше не находится в lib.Установить стратегию сохранения на «localTempSwap» в EHCache 3.x

Я прочитал документы (для версии 3.1). но я не мог найти ничего о том, как настроить стратегию персистентности, поэтому я полагаю, что в версии 3.x есть другая концепция или, возможно, эта функция была удалена, но это звучит немного странно.

Может ли кто-нибудь сказать мне, как мне настроить EHCache 3.1.x для управления сохранением, как Strategy.LOCALTEMPSWAP? Если это невозможно, есть ли альтернатива или обходной путь?

ответ

3

При настройке диска яруса в Ehcache 3.x есть логическое значение, указывающее, настойчивость:

  • true: данные будут сохранены между JVM перезапускается, если CacheManager или UserManagedCache был закрыт должным образом с помощью одного методов close,
  • false: данные не сохраняются между перезапусками JVM, хотя диск используется во время операций кеша. Обратите внимание, что это значение по умолчанию.

Использование зависит от того, где конфигурация поступает из:

  • В Java используют ResourcePoolsBuilder.disk(long size, MemoryUnit unit, boolean persistent) с булево, как определено выше,
  • При использовании XML <ehcache:disk unit="GB" persistent="true">100</ehcache:disk> с булевой флаг снова, как определено выше.

Таким образом, чтобы достичь эквивалента Strategy.LOCALTEMPSWAP в 2.x, вы можете работать по умолчанию.

Обратите внимание, что с 3.1.3 вы можете использовать системное свойство в XML для настройки местоположения папки данных, как в ${java.tmp.dir}.

+0

Не могли бы вы объяснить, как вы ввели xml в реализацию jsr? Также снимок экрана вашего xml –

+0

Это похоже на действительную тему для отдельного вопроса. В противном случае просмотрите [документацию] (http://www.ehcache.org/documentation/3.3/107.html#getting-jsr-107-caches-configured-through-ehcache-xml). –

Смежные вопросы