@Cacheable不缓存Grails POGO方法

时间:2014-02-10 01:47:20

标签: grails

尝试在Grails(2.1.5)中的'repository'对象上缓存方法调用时,我遇到了一个奇怪的问题。这个存储库是src / groovy中的一个普通的groovy对象,它结合了两个数据源的数据并返回一个'Seller'对象。

def aDatabaseHelper
def bDatabaseHelper

@Cacheable('seller_do_get')
public Seller get(id){
    ....
    //do stuff with aDatabaseHelper and bDatabaseHelper
    return seller
}

SellerRepository在resources.groovy

中定义
aDatabaseHelper (ADatabaseHelper ){
    aDataSource = ref("dataSource_a")
}
...

sellerRepository(SellerRepository){
    aDatabaseHelper = aDatabaseHelper 
    bDatabaseHelper = bDatabaseHelper
}

我们已经安装了ehcahce插件(1.0.0)并且可以正常使用其他对象/方法。

上面由于某种原因没有缓存它 - 每次都进入get方法。我创建了一个'BlaRepository',它接受相同的依赖项并且有一个getBla(id)方法,并且它被缓存得很好。

有人知道这里发生了什么吗?我在做哪个愚蠢的错误?

1 个答案:

答案 0 :(得分:0)

似乎应该可以工作,但可能是一个错误。创建一个演示问题的小型测试应用并运行grails bug-report并将其附加到http://jira.grails.org/browse/GPCACHEEHCACHE的JIRA,我会看看。