【问题标题】:Ehcache migration from 2.6 to 3.00Ehcache 从 2.6 迁移到 3.00
【发布时间】:2017-02-06 15:01:37
【问题描述】:

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

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

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

【问题讨论】:

  • 将 ehcache 2.x 迁移到 3.x 时要记住哪些事项?我正在从 2.4.2 迁移到 3.4(当前版本)。我需要对源代码进行任何重大更改吗?
  • 如果你使用 Spring 看看这里:stackoverflow.com/a/47562286/548473

标签: caching ehcache hibernate-cache


【解决方案1】:

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 遵循这些原则。然而,有缓存设置,主要围绕 cache-through 和 分布式 缓存,其中一致性可能是一个挑战。预计 Ehcache 3.x 产品线将很快推出解决方案。

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

【讨论】:

  • 你知道什么可以替代 Ehcache 3 中的 management.Cache 吗?
猜你喜欢
  • 2019-01-07
  • 2022-01-25
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 2014-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多