Java Ehcache3获取实时配置
我正在从Ehcache2.X过渡到Ehcache3.3.1,无法找到在运行时获取缓存的生存时间配置的方法。我以前用过:Java Ehcache3获取实时配置,java,ehcache,Java,Ehcache,我正在从Ehcache2.X过渡到Ehcache3.3.1,无法找到在运行时获取缓存的生存时间配置的方法。我以前用过: cache.getCacheConfiguration().gettimes() 现在,看起来我需要做一些类似于: cache.getRuntimeConfiguration().getExpiry().getExpiryForCreation().getLength() 但是,getExpiryForCreation()需要特定元素的键、值对,并且似乎返回该元素的持续时间 我
cache.getCacheConfiguration().gettimes()
现在,看起来我需要做一些类似于:
cache.getRuntimeConfiguration().getExpiry().getExpiryForCreation().getLength()
但是,getExpiryForCreation()
需要特定元素的键、值对,并且似乎返回该元素的持续时间
我在API或文档中遗漏了什么吗?我将在这里发布与ehcache邮件列表相同的答案 到期实现可以是非常动态的,并使用给定的缓存键和值选择到期时间 如果你知道你做了类似的事情
Expirations.timeToLiveExpiration(持续时间为(20,时间单位为秒))
因此,要创建它,它将不是动态的。所以你可以
cache.getRuntimeConfiguration().getExpiry().getExpiryForCreation(null,null)
获取创建后缓存项的持续时间
如果您希望动态更改TTL,这是可能的,但您需要提供自己的到期
实现(其实并不难做到)。使用TTL的setter
但是,新值仅适用于新添加的条目。现有条目不会看到其TTL更改。这是因为我们在添加条目时计算过期时间戳。而不是一直重复应用持续时间。出于性能原因