2013-03-26 59 views
5

在我的Ehcache配置我看到這些:的Ehcache - 對象是否是永恆與否

eternal="false" 
timeToIdleSeconds="0" 
timeToLiveSeconds="0" 

是什麼實際上意味着?

文檔提到timeToLiveSeconds =「0」表示不會進行這些檢查。所以這意味着物體將是永恆的,即使「永恆」被設定爲假?

回答

10

如果你看看CacheConfiguration.java:826(我的Ehcache的版本是2.6.5),你會看到以下內容:

if (eternal) { 
    setTimeToIdleSeconds(0); 
    setTimeToLiveSeconds(0); 
} 

所以它本質上是一樣的。

5

將屬性'eternal'設置爲true時將覆蓋TimeToIdle和TimeToLive參數。當設置爲false時,它對配置沒有影響。因此,在上述情況下,將考慮setTimeToIdleSeconds(0)和setTimeToLiveSeconds(0)參數,並且緩存元素將保留一生(因爲0表示無限)。