Spring 3.2.3 offered new cache annotations and xml constructions. Make sure you use
org.springframework.cache.annotation.Cacheable instead of com.googlecode.ehcache.annotations.Cacheable. The correct xml initialization:
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="ehcache"/>
</bean>
<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml"/>
<property name="shared" value="true"/>
</bean>
<cache:annotation-driven cache-manager="cacheManager" />
org.springframework.cache.annotation.Cacheable instead of com.googlecode.ehcache.annotations.Cacheable. The correct xml initialization:
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="ehcache"/>
</bean>
<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml"/>
<property name="shared" value="true"/>
</bean>
<cache:annotation-driven cache-manager="cacheManager" />
This must be placed in contextLoader part of spring congiguration (specified by contextConfigLocation parameter in web.xml), not in webapp part! cache namespace:
xmlns:cache="http://www.springframework.org/schema/cache", location: http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd
Also add dependency on 'net.sf.ehcache:ehcache:2.7.4' instead of 'com.googlecode.ehcache-spring-annotations:ehcache-spring-annotations:1.2.0', 'cause we will use spring's annotation.
No comments :
Post a Comment