Después de cerrar mis consultas (búsquedas), la sesión en caché se cierra, en una nueva sesión, hibernate está desalojando todo después de cambiar la base de datos mediante una consulta SQL de escritura aleatoria, ¿cómo puedo detener eso? sucediendo ? Estoy buscando crear políticas para cosas que rara vez cambian.ehcache hiberna el almacenamiento en caché de segundo nivel, desalojo de hibernación automáticamente
INFO Executing [namedSqlQuery=dao.web_login, objs=[user1]]
DEBUG org.springframework.orm.hibernate3.SessionFactoryUtils user1- Opening Hibernate Session
DEBUG org.hibernate.impl.SessionImpl user1 - opened session at timestamp: 5511432318976000
DEBUG org.hibernate.impl.SessionFactoryImpl user1- evicting second-level cache: USERS_LOOKUP
DEBUG org.hibernate.impl.SessionFactoryImpl user1- evicting second-level cache: COUNTRY_LOOKUP
ecache.xml
<cache name="query.oneHourPolicy"
maxElementsInMemory="10000"
eternal="false"
timeToLiveSeconds="3600"
diskPersistent="true"
overflowToDisk="true"/>
configuración de hibernación resorte
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>
¿Su CacheMode establecido como REFRESH (es decir, CacheMode.REFRESH) – Santosh
No, escribí una clase junit para ejecutar las mismas consultas en la misma sesión sin el SQL aleatorio en el medio y va de 20 segundos a 1 segundo para obtener una respuesta – Rodriguez
JUnit log 0st time - 20134 ms 1st time - 207 ms 2ª vez - 183 ms 3ª vez - 179 ms 4ª vez - 185 ms ejecutando consulta SQL aleatoria 5ª vez - 20043 ms 6ª vez - 182 ms 7ª vez - 181 ms 8ª vez - 177 ms 9ª vez - 179 ms – Rodriguez