Spring+Hibernate下配置Ehcache
Spring+Hibernate下配置Ehcache
?
1. 编写ehcache.xml文件,将该文件放置于classpath路径下。代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
??? <!-- 缓存文件生成之后所放置的路径 -->
??? <diskStore path="D:/Develop/tomcat-6.0.18/temp/cache" />
??? <!-- maxElementsInMemory 缓存最大数目
??? ??? ?eternal 缓存是否持久
??? ??? ?overflowToDisk 是否保存到磁盘,当系统宕机时
??? ??? ?timeToIdleSeconds 当缓存闲置n秒后销毁
??? ??? ?timeToLiveSeconds 当缓存存活n秒后销毁
??? ??? ?diskPersistent 是否在磁盘上持久化
??? ??? ?diskExpiryThreadIntervalSeconds 对象检测线程运行时间间隔 -->
??? <defaultCache maxElementsInMemory="10000" eternal="false"
??? ??? overflowToDisk="true" timeToIdleSeconds="120" timeToLiveSeconds="120"
??? ??? diskPersistent="false" diskExpiryThreadIntervalSeconds="120" />
</ehcache>
?
2. 配置hibernate核心xml文件,代码如下:
<property name="hibernateProperties">
??????????? <props>
?????????????????? ...
??????????????? <prop?? key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</prop>
??? ??? ??? ??? <prop key="hibernate.cache.use_second_level_cache">true</prop>
??????????????? <prop key="hibernate.cache.use_structured_entries">true</prop>
??????????????? <prop key="hibernate.cache.use_query_cache">true</prop>
?????????? </props>
</property>
添加上述几项关于缓存的配置
?
3. 配置需要加入缓存的实体hbm文件,代码如下:
在hbm文件的上端配置<cache usage="read-write"/>
?
4. 导入ehcache.jar文件,并将其加入到buildpath下。
?
?
完成上述4个步骤操作之后,即可启动tomcat,打开log跟踪器查看自己配置的缓存是否已达到效果。
?
(同样我们也可以将步骤2中"hibernate.cache.provider_class"的值替换为”org.hibernate.cache.EhCacheProvider“使用Hibernate自身所带的缓存支持类,那么这个时候就可以略去步骤4了。即无需再导入ehcache jar包。)
?
?
?
?