java - 如何集群 Ehcache 用作 Hibernate 的二级缓存

标签 java hibernate caching cluster-computing ehcache

在我的基于 Spring MVC + Hibernate 的 Web 应用程序中,我使用 Ehcache 作为 Hibernate 二级缓存。它在单个服务器上运行得很好。但是我需要将我的应用程序迁移到集群环境。只是想知道如何使 Ehcache 作为 Hibernate 的二级缓存在集群环境中工作?提前致谢。

最佳答案

您需要使用 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"/>

关于java - 如何集群 Ehcache 用作 Hibernate 的二级缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634856/

相关文章:

mysql - Java 8 java.time 未正确映射到 mysql

java - 我无法在 JPQL/Hibernate 中沮丧 - 无法找到 ID 为 16 的域。Scoreable

multithreading - MESI缓存协议(protocol)

css - sass缓存破坏

python - Python 中的缓存选项或加速 urlopen

java - 字节码注入(inject)在哪里可能有用?

java - synchronized 语句是做什么用的?

java - Postgres : syntax error at or near "as"

java - 提交表单并得到 404 空响应

java - 如何正确捕获、包装和重新抛出 Hibernate 异常?