我有兴趣知道Hibernate二级缓存是否可以在两个不同的JVM上运行的两个不同的Hibernate会话之间共享。
我正在使用带有Ehcache的Hibernate 3.1来提供二级缓存,在Ehcache.xml配置文件中我们可以指定我们在磁盘上创建缓存的位置
<ehcache>
<diskStore path="C:\Learn\db"/>
</ehcache>
所以如果我现在打开两个不同的Hibernate会话,在不同的JVM中都指向相同的,那将允许我在两个JVM之间共享二级缓存。
如果是这种情况。因此,如果其中一个Hibernate会话更新其缓存(会话级缓存),随后将更新第二级缓存,从而更新第二个会话在不同JVM上运行时访问该缓存将获取更新数据。
非常感谢。答案 0 :(得分:1)
是的,你可以,我不知道ehcache但infinispan允许你这样做(假设你正在共享数据库)
答案 1 :(得分:1)
您可以将任何ehcache复制/群集机制与Hibernate二级缓存一起使用。见:
现在,根据您使用的复制/群集解决方案,可能不建议使用所有缓存策略,但至少不需要完整的XA环境。