Ehcache migration from 2.6 to 3.00

社会主义新天地 提交于 2019-12-10 13:22:24

问题


I am trying to upgrade Ehcache for my Project from 2.6 to 3.0 version.

Any replacement for net.sf.ehcache.Element and CacheExceptionHandler.

Less documentation on Ehcache 3, Can anyone give some tips for upgrading Ehacahe to version 3.


回答1:


Ehcache 3 is by design a major rework of the APIs so there are indeed large differences with Ehcache 2.x.

  • net.sf.ehcache.Element has been completely removed, the org.ehcache.Cache API is now closer (but not identical) to a java.util.concurrent.ConcurrentMap. This means you simply put(K key, V value) and V get(K key) - no need for a wrapper object.
    • A consequence of that is that you can no longer set a per mapping expiration. However, a custom org.ehcache.expiry.Expiry can be configured which can have mapping specific answers.
  • The concept of CacheExceptionHandler is gone. In Ehcache 3 the approach is that a Cache should never be the source of an exception. If a get fails, it is valid to return null as long as you always return that until the next put. If a put fails, there is effectively no difference with a valid put followed by immediate eviction. Ehcache 3 follows these principles. However there are cache setups, mostly around cache-through and distributed caches, where consistency can be a challenge. Expect a solution to this to come soon to the Ehcache 3.x line.

As for a more complete documentation on the topic of migrating from one to the other, that is indeed something that still needs to be done.



来源:https://stackoverflow.com/questions/42070863/ehcache-migration-from-2-6-to-3-00

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!