2012-06-07 14 views
13

Se ho la seguente configurazione:Le cache in ehcache.xml ereditano da defaultCache?

<defaultCache timeToIdleSeconds="120" 
     timeToLiveSeconds="120" /> 
<cache name="test" 
     timeToLiveSeconds="300" /> 

Quale sarà il valore della timeToIdleSeconds per la cache test? Sarà ereditato dalla cache predefinita e quindi sarà uguale a 120, o prenderà il valore predefinito come indicato nel manuale, che è 0 (infinito)?

risposta

14

timeToISeconds sarà il valore predefinito e non ereditato da "defaultCache". "DefaultCache" è un po 'impreciso/fuorviante, nel senso che non fornisce "valori predefiniti" per ogni cache, ma è solo un modo per specificare la configurazione per le cache che possono/vengono aggiunte dinamicamente - utilizzando cacheManager.addCache (String cacheName).

Da http://www.ehcache.org/ehcache.xml, la documentazione per quel tag legge

 
Default Cache configuration. 
These settings will be applied to caches created programmatically using 
CacheManager.add(String cacheName). This element is optional, and using 
CacheManager.add(String cacheName) when its not present will throw CacheException 
The defaultCache has an implicit name "default" which is a reserved cache name. 
+0

ho letto quel testo, ma a me non sembra essere troppo chiaro. –

+0

FYI, le impostazioni di 'defaultCache' vengono anche utilizzate quando si chiama' CacheManager # addCacheIfAbsent (String cacheName) '. –

Problemi correlati