在 EHCache 3.x 中将持久性策略设置为“localTempSwap”

2022-09-04 22:41:52

在 EHCache 3.1.3 中,缺少用于设置持久性策略的 2.x API,例如枚举不再位于库中。net.sf.ehcache.config.PersistenceConfiguration.Strategy

我已经阅读了文档(适用于版本3.1)。但是我找不到任何关于如何配置持久性策略的信息,所以我想在3.x版本中是一个不同的概念,或者该功能已被删除,但听起来有点奇怪。

谁能告诉我如何配置EHCache 3.1.x来管理持久性?如果不可能,是否有任何替代方法或解决方法?Strategy.LOCALTEMPSWAP


答案 1

在 Ehcache 3.x 中配置磁盘层时,有一个指示持久性的布尔值:

  • true:如果 使用其中一种方法正确关闭了 或 ,则在 JVM 重新启动之间将保留数据,CacheManagerUserManagedCacheclose
  • false:尽管在高速缓存操作期间使用了磁盘,但在 JVM 重新启动之间不会保留数据。请注意,这是默认设置。

使用情况取决于配置的来源:

  • 在 Java 中,使用上面定义的布尔值,ResourcePoolsBuilder.disk(long size, MemoryUnit unit, boolean persistent)
  • 在 XML 中,再次使用布尔标志,如上文所定义。<ehcache:disk unit="GB" persistent="true">100</ehcache:disk>

所以为了达到等价于在你就可以用默认值了。Strategy.LOCALTEMPSWAP2.x

请注意,从此以后,您可以使用 XML 中的系统属性来配置数据文件夹位置,如 中所示。3.1.3${java.tmp.dir}


答案 2