2013-03-26 19 views
5

In meiner ehcache Konfiguration sind Ich sehe diese:Ehcache - ob Objekte ewig oder nicht

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

Was effektiv bedeutet das?

Die Dokumentation erwähnt, dass timeToLiveSeconds = "0" bedeutet, dass diese Prüfungen nicht durchgeführt werden. Das heißt also, dass Objekte ewig sind, auch wenn "ewig" auf falsch gesetzt ist?

Antwort

10

Wenn Sie bei CacheConfiguration.java:826 aussehen (meine Version von Ehcache ist 2.6.5), werden Sie wie folgt vor:

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

es ist also im Wesentlichen das Gleiche.

5

Die Eigenschaft 'eternal', wenn sie auf 'true' gesetzt ist, überschreibt die Parameter 'TimeToIdle' und 'TimeToLive'. Wenn sie auf "false" gesetzt ist, hat dies keine Auswirkungen auf die Konfiguration. Daher werden im obigen Fall die Parameter setTimeToIdleSeconds (0) und setTimeToLiveSeconds (0) berücksichtigt und die Cache-Elemente bleiben auf Lebenszeit (da 0 unendlich bedeutet).