在我的基于Spring MVC + Hibernate的Web应用程序中,我使用Ehcache进行Hibernate二级缓存。它在单个服务器上运行良好。但是,我需要将我的应用程序迁移到集群环境。只是想知道如何让Ehcache作为Hibernate的二级缓存在集群环境中工作?提前谢谢。
答案 0 :(得分:1)
您需要将{Teracotta用于clustering Ehcache并将ehcache.xml
配置更改为了解群集环境的男性Ehcache:
<cache name="cacheRegion"
maxEntriesLocalHeap="1000"
eternal="false"
timeToIdleSeconds="3600"
timeToLiveSeconds="1800"">
<persistence strategy="distributed"/>
<terracotta clustered="true" consistency="eventual" />
</cache>
如果您不想购买Teracotta许可证,可以设置replicated cache instead。您可以使用RMI replication来协调缓存节点:
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1,
multicastGroupPort=4446, timeToLive=32"/>