Я использую Hibernate 4.1.1.Final с Spring MVC 3.1.x и использую кеш первого и второго уровня. Я настроил объекты своего домена, используя аннотации для операций с кешем. Но кеш ничего не хранит на диске.
Вот мой файл ehcache.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
<!--
<diskStore path="java.io.tmpdir"/>
-->
<diskStore path="java.io.tmpdir/ehcache"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="120"
overflowToDisk="true"
maxElementsOnDisk="10000000"
diskPersistent="true"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
</ehcache>
Свойства кэша гибернации:
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
Конфигурация на основе объявлений для объектов домена:
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
В папке / tmp нет папки с именем ** ehcache: **