2012-06-07 7 views
13

Si tengo la siguiente configuración:¿Las memorias caché en ehcache.xml heredan de defaultCache?

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

¿Cuál será el valor de timeToIdleSeconds para la caché test? ¿Se heredará de la memoria caché predeterminada, y por lo tanto será igual a 120, o tomará el valor predeterminado como se indica en el manual, que es 0 (infinito)?

Respuesta

14

El timeToIdleSeconds tendrá valor predeterminado y no heredará de "defaultCache". La "caché predeterminada" es un poco inapropiada/engañosa, en el sentido de que no proporciona "valores predeterminados" para cada caché, sino que es solo una manera de especificar config para las cachés que pueden/se agregan dinámicamente, utilizando cacheManager.addCache (String cacheName)

De http://www.ehcache.org/ehcache.xml, la documentación para esa etiqueta se lee

 
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

leí ese texto, pero para mí no parece ser demasiado clara. –

+0

FYI, la configuración 'defaultCache' también se usa cuando se llama a' CacheManager # addCacheIfAbsent (String cacheName) '. –

Cuestiones relacionadas