2014-02-10 73 views
0

當我嘗試緩存Grails(2.1.5)中'repository'對象的方法調用時,我遇到了一個奇怪的問題。該存儲庫是src/groovy中的普通groovy對象,它將來自兩個數據源的數據組合起來,並返回一個'Seller'對象。@Cacheable不緩存Grails POGO方法

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)方法,並且緩存得很好。

有人有線索這裏發生了什麼?我犯了哪個愚蠢的錯誤?

回答