1

我想在我的 grails 应用程序中实现 spring 缓存插件,并且我已经使用 install-plugin 命令安装了该插件。

根据我的resources.groovy中的 spring 缓存文档,我有缓存配置

venueCache(org.springframework.cache.ehcache.EhCacheFactoryBean) { bean ->
    cacheManager = ref("springcacheCacheManager")
    eternal = true
    diskPersistent = false
    cacheName = "venueCache"
}

在控制器中我有@Cacheable("venueCache")我的表演动作

@Cacheable("venueCache")
def show(id) {
 ...
}

但是每当我启动应用程序并多次点击 URL 时,它似乎并没有从缓存中给出。它记录语句:

web.GrailsFragmentCachingFilter - No cacheable annotation found for GET:/grails/venue/action-router.dispatch grails.plugin.springcache.web.FilterContext@4f7351e4

我的配置中是否缺少任何东西

4

1 回答 1

2

对我来说这是一些愚蠢的忽视 - 我必须为 @Cacheable 注释导入 grails.plugin.springcache.annotations.* ,但 STS 自动导入了 Spring Cacheable 注释。将导入更改为 grails.plugin.springcache.annotations.* 并且一切正常

于 2012-04-17T17:29:42.510 回答