Ehcache从2.6迁移到3.00

时间:2017-02-06 15:01:38

标签: caching ehcache hibernate-cache

我正在尝试将我的项目的Ehcache从2.6升级到3.0版本。

net.sf.ehcache.Element和CacheExceptionHandler的替换。

关于Ehcache 3的文档较少,任何人都可以提供一些将Ehacahe升级到版本3的提示。

1 个答案:

答案 0 :(得分:7)

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系列的解决方案。

关于从一个迁移到另一个主题的更完整的文档,这确实是需要完成的事情。