Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Ehcache3获取实时配置_Java_Ehcache - Fatal编程技术网

Java Ehcache3获取实时配置

Java Ehcache3获取实时配置,java,ehcache,Java,Ehcache,我正在从Ehcache2.X过渡到Ehcache3.3.1,无法找到在运行时获取缓存的生存时间配置的方法。我以前用过: cache.getCacheConfiguration().gettimes() 现在,看起来我需要做一些类似于: cache.getRuntimeConfiguration().getExpiry().getExpiryForCreation().getLength() 但是,getExpiryForCreation()需要特定元素的键、值对,并且似乎返回该元素的持续时间 我

我正在从Ehcache2.X过渡到Ehcache3.3.1,无法找到在运行时获取缓存的生存时间配置的方法。我以前用过:
cache.getCacheConfiguration().gettimes()

现在,看起来我需要做一些类似于:
cache.getRuntimeConfiguration().getExpiry().getExpiryForCreation().getLength()

但是,
getExpiryForCreation()
需要特定元素的键、值对,并且似乎返回该元素的持续时间


我在API或文档中遗漏了什么吗?

我将在这里发布与ehcache邮件列表相同的答案

到期实现可以是非常动态的,并使用给定的缓存键和值选择到期时间

如果你知道你做了类似的事情
Expirations.timeToLiveExpiration(持续时间为(20,时间单位为秒))
因此,要创建它,它将不是动态的。所以你可以
cache.getRuntimeConfiguration().getExpiry().getExpiryForCreation(null,null)
获取创建后缓存项的持续时间

如果您希望动态更改TTL,这是可能的,但您需要提供自己的
到期
实现(其实并不难做到)。使用TTL的setter

但是,新值仅适用于新添加的条目。现有条目不会看到其TTL更改。这是因为我们在添加条目时计算过期时间戳。而不是一直重复应用持续时间。出于性能原因