首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HIbernate中的ehCache和Spring MVC错误

HIbernate中的ehCache和Spring MVC错误
EN

Stack Overflow用户
提问于 2011-03-26 05:44:24
回答 3查看 996关注 0票数 0

我试图让缓存在服务层方法上工作,但它仍然进入其中并调用数据库。我的设置是错的吗?

代码语言:javascript
复制
@Cacheable(cacheName="apiActivitiesCache", keyGenerator = @KeyGenerator (
            name = "ListCacheKeyGenerator",
            properties = {
                    @Property( name="useReflection", value="true" ),
                    @Property( name="checkforCycles", value="true" ),
                    @Property( name="includeMethod", value="false" )
            }
        )
    )
    public GetMemberActivitiesResponse getActivities(GetMemberActivitiesRequest request) {

servlet-context.xml

代码语言:javascript
复制
<ehcache:annotation-driven cache-manager="ehCacheManager" create-missing-caches="true"/>

    <ehcache:config cache-manager="ehCacheManager">
        <ehcache:evict-expired-elements interval="60" />
    </ehcache:config>

    <beans:bean id="ehCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
        <beans:property name="configLocation"  value="/WEB-INF/spring/ehcache.xml"/>
    </beans:bean>

ehcache.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
    <defaultCache eternal="true" maxElementsInMemory="100" overflowToDisk="false" />
    <cache name="apiActivitiesCache" eternal="false"  
        maxElementsInMemory="100" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="300"
        memoryStoreEvictionPolicy="LRU" />
</ehcache>
EN

回答 3

Stack Overflow用户

发布于 2011-04-07 12:48:09

你在使用Ehcache Spring注解(http://groups.google.com/group/ehcache-spring-annotations)吗?这不适用于Hibernate。

票数 1
EN

Stack Overflow用户

发布于 2011-03-27 07:06:21

我用你的精确配置试过了,它起作用了。您的服务类是否将getActivities方法配置为Spring bean?

另外,getActivities方法是由另一个类调用的,还是由同一个类中的另一个方法调用的?

票数 0
EN

Stack Overflow用户

发布于 2011-04-13 04:17:47

getActivities是由接口定义的吗?Spring将基于接口的Java代理用于批注包装器,因此所有带批注的方法都必须由接口定义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5438451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档