2016-07-05 58 views
0

我正在使用JCache的Ehcache實現。如何緩存來自同一類的其他方法?

可以說,我已經Test類。在這堂課裏我有兩種方法:methodAmethodBmethodB有註釋@CacheResult(cacheName = "methodB")

從這些信息你會猜想我想要緩存方法methodBmethodA應該使用此緩存。

但是...它不起作用。當我使用來自同一個類的方法時,看起來這個註解並沒有觸發它的攔截器。它可以工作,但如果我創建類Test2並將方法methodB移動到此類 - 則按預期方式緩存此方法的結果。

如何從同一個類啓用緩存方法?

回答

1

至於現在,它似乎是不可能的 - 如果我們堅持CacheResult註解。

這是因爲攔截器無法正常上課時使用的方法,通過this參考解僱 - 通過CDI不能及的。如果我們想緩存它們,我們需要使用另一種方式,或者只是調用一些靜態方法,比如說cacheMe,每private方法中。

相關問題