我现在通过SpringModules EHcache支持将EHcache应用于我的Web应用程序。
然而,它不起作用。不过没有例外。
ehcache.xml中:
<ehcache>
<diskStore path="c:\\myapp\\cache"/>
<defaultCache
maxElementsInMemory="500"
eternal="true"
overflowToDisk="false"
memoryStoreEvictionPolicy="LFU" />
<cache name="WorldExpoCache"
maxElementsInMemory="500"
eternal="true"
overflowToDisk="false"
memoryStoreEvictionPolicy="LFU" />
</ehcache>
我的applicationContext.xml摘录:
<!-- EHCache configuration -->
<ehcache:config configLocation="classpath:ehcache.xml"/>
<ehcache:proxy id="WorExpoDAO" refId="worldExpoDAO">
<ehcache:caching methodName="grabcategory" cacheName="WorldExpoCache"/>
</ehcache:proxy>
<bean id="worldExpoDAO" class="com.cn.dao.WorldExpoDAOImpl">
<property name="sessionFactory">
<ref local="mySessionFactory" />
</property>
</bean>
当然,我的DAO课程中有一个名为“grabcategory”的方法。 但是,当此方法第二次启动时,仍会从基础数据库而不是从缓存中检索相关数据。
P.S。:我确实将所有必需的罐子包含在我的应用程序中
为什么?谁能告诉我哪里做错了?
任何建议都将受到高度赞赏。
答案 0 :(得分:1)
不再维护Spring Modules,并且当前版本的Spring和EhCache无法正常运行。
不幸的是,Spring Modules提供的缓存功能实际上没有替代品,你必须自己动手。
答案 1 :(得分:1)
事实上,Spring Modules的缓存功能确实有替代品。 EhCache Spring的注释已经出现,实际上更容易使用。
答案 2 :(得分:1)
Spring {3.1}版本中引入了@Cachable注释。使用Ehcache作为后端可以configured。