2017-02-06 3 views
2

Я пытаюсь обновить Ehcache для моего проекта с версии 2.6 до 3.0.Переход Ehcache с 2.6 до 3.00

Любая замена для net.sf.ehcache.Element и CacheExceptionHandler.

Less документация на Ehcache 3, Может кто-нибудь дать несколько советов по обновлению Ehacahe до версии 3.

+0

Какие вещи следует учитывать при миграции ehcache 2.x на 3.x? Я перехожу от 2.4.2 до 3.4 (текущая версия). Есть ли какие-то серьезные изменения, которые мне нужно внести в исходный код? –

+0

Если вы используете Spring, посмотрите здесь: https://stackoverflow.com/a/47562286/548473 – GKislin

ответ

3

Ehcache 3 является дизайн главной переделки из API, так что есть действительно большие различия с Ehcache 2.x.

  • net.sf.ehcache.Element был полностью удален, org.ehcache.Cache API теперь ближе (но не идентичны) к java.util.concurrent.ConcurrentMap. Это означает, что вы просто put(K key, V value) и V get(K key) - нет необходимости в оберточном объекте.
    • Следствием этого является то, что вы больше не можете установить значение для каждого истечения срока действия картона. Однако можно настроить пользовательский org.ehcache.expiry.Expiry, который может отображать конкретные ответы.
  • Понятие CacheExceptionHandler отсутствует. В Ehcache 3 подход заключается в том, что Cache никогда не должен быть источником исключения. Если get терпит неудачу, то возвращается null, если вы всегда возвращаете его до следующего put. Если put терпит неудачу, фактически нет разницы с действительным put, а затем немедленным выселением. Ehcache 3 следует этим принципам. Тем не менее, существуют настройки кеша, в основном около кеширование и распределены кэши, где непротиворечивость может быть проблемой. Ожидайте, что это решение скоро придет к линии Ehcache 3.x.

Что касается более полной документации по теме перехода от одного к другому, это действительно то, что еще нужно сделать.

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