我正在尝试将我的项目的Ehcache从2.6升级到3.0版本。
net.sf.ehcache.Element和CacheExceptionHandler的替换。
关于Ehcache 3的文档较少,任何人都可以提供一些将Ehacahe升级到版本3的提示。
答案 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系列的解决方案。关于从一个迁移到另一个主题的更完整的文档,这确实是需要完成的事情。