我正在尝试将我的项目的 Ehcache 从 2.6 升级到 3.0 版本。
net.sf.ehcache.Element 和 CacheExceptionHandler 的任何替换。
关于 Ehcache 3 的文档较少,任何人都可以提供一些将 Ehacahe 升级到版本 3 的提示。
我正在尝试将我的项目的 Ehcache 从 2.6 升级到 3.0 版本。
net.sf.ehcache.Element 和 CacheExceptionHandler 的任何替换。
关于 Ehcache 3 的文档较少,任何人都可以提供一些将 Ehacahe 升级到版本 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 中,方法是 aCache
永远不应该是异常的来源。如果 aget
失败,则返回是有效的null
,只要您始终返回直到下一个put
。如果 a失败,则与 valid后立即evictionput
实际上没有区别。Ehcache 3 遵循这些原则。然而,有缓存设置,主要围绕缓存直通和分布式缓存,其中一致性可能是一个挑战。预计 Ehcache 3.x 产品线很快就会有解决方案。put
至于关于从一个迁移到另一个的主题的更完整的文档,这确实是仍然需要做的事情。