16

从这里和整个网络的搜索来看,不可能将 EHCache 实现为 Hibernate 的后写缓存,因为这需要对 Hibernate 代码进行大量更改。

JPA 提供者是否有任何其他解决方案(最好是开源的)可以“透明地”挂钩到后写缓存实现中,最好是可以与 Terracotta 之类的东西一起分发的解决方案?

我读过 EclipseLink 和 Oracle Coherence 可以实现这一点,但遗憾的是,Coherence 并不是一个便宜的解决方案!

4

1 回答 1

5

我们确实为 Coherence 编写了一个基于 Hibernate 的 write-behind 缓存处理程序。

是什么阻止您使用任何 JPA 实现编写 EHCache CacheWriter,如http://ehcache.org/documentation/apis/write-through-caching中所述。你可以扩展 AbstractCacheWriter,你只需要实现 write(net.sf.ehcache.Element)、writeAll(java.util.Collection)、delete(net.sf.ehcache.CacheEntry) 和 deleteAll(java.util 。收藏)。

只要确保它完全独立于周围的交易。然后,您的应用程序将单独写入缓存,不再使用 JPA。

您遇到过哪些问题?

于 2011-12-24T12:25:21.620 回答