gpt4 book ai didi

java - 更改play应用中Ehcache的持久化策略

转载 作者:行者123 更新时间:2023-12-02 11:04:34 27 4
gpt4 key购买 nike

我的目标:我想配置ehcache使用硬盘进行缓存。理想情况下,缓存内容将在应用程序重新启动后继续存在。

上下文:使用 play-cache_2.10-2.2.2.jarehcache-core-2.6 的 play 2.2 应用程序.6.jar 位于类路径

尝试:我还没有尝试太多,因为第一次尝试表明我从根本上错过了一些东西。

我刚刚在 app/conf 下创建了一个 ehcache.xml 文件

<ehcache>
<diskStore path="/var/myapp/persistent/cache>
<defaultCache
maxBytesLocalHeap="512M"
eternal="false"
timeToIdleSeconds="90000"
timeToLiveSeconds="0"
maxBytesLocalDisk="10G"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LFU">

<persistence strategy="localRestartable" />

</defaultCache>
</ehcache>

投诉:

net.sf.ehcache.config.InvalidConfigurationException: 
Cannot use localRestartable persistence and disk overflow in the same cache
...
net.sf.ehcache.CacheManager.addCache(CacheManager.java:1177)

play.api.cache.EhCachePlugin.cache$lzycompute(Cache.scala:143)

play.api.cache.EhCachePlugin.cache(Cache.scala:142)

play.api.cache.EhCachePlugin.onStart(Cache.scala:159)
...

问题:如何将持久性策略更改为不同于磁盘溢出的策略?如何配置ehcache使用硬盘进行缓存?

最佳答案

根据EhCache文档here

• “localRestartable” — Enables the RestartStore and copies all cache entries (on-heap and/or off-heap) to disk. This option provides fast restartability with fault tolerant cache persistence on disk. This option is available for BigMemory Go only.

BigMemory Go 是 Terracotta 的付费产品,不是开源的。这可能是您收到错误的原因。

关于java - 更改play应用中Ehcache的持久化策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51077461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com