首页 > 解决方案 > 如何切换到 ehcache 3 的 TickingTimeSource?

问题描述

下面是ehcache的配置,

假设我们使用的是 ehcache 版本 3.7

<config xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
        xmlns='http://www.ehcache.org/v3'
        xmlns:jsr107='http://www.ehcache.org/v3/jsr107'
        xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.7.xsd
                            http://www.ehcache.org/v3/jsr107 http://www.ehcache.org/schema/ehcache-107-ext-3.7.xsd">


    <service>
        <jsr107:defaults enable-management="true" enable-statistics="true"/>

    </service>

    <cache alias="MyCache">
        <expiry>
            <ttl unit="seconds" >172800</ttl>
        </expiry>
        <heap unit="entries">1000</heap>

    </cache>




</config>
  1. 问题是:如何切换到 TickingTimeSource,如 ehcache 文档中所述

到目前为止完成的作业:-

标签: javaehcache-3

解决方案


我发现只有一种方法可以通过基于 Java 的配置来实现这一点。我没有时间对此进行测试,但这段代码与我在 ehcache 测试中发现的类似:

CacheManager cacheManager =
    CacheManagerBuilder.newCacheManagerBuilder()
            .using(new TimeSourceConfiguration(new TickingTimeSource(1L, 1000L)))
            .withCache("cache1",
                    CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, Object.class, ResourcePoolsBuilder.heap(10))).build(true)

推荐阅读