2016-07-05 53 views
0

我正在使用JCache的Ehcache实现。如何缓存来自同一类的其他方法?

可以说,我已经Test类。在这堂课里我有两种方法:methodAmethodBmethodB有注释@CacheResult(cacheName = "methodB")

从这些信息你会猜想我想要缓存方法methodBmethodA应该使用此缓存。

但是...它不起作用。当我使用来自同一个类的方法时,看起来这个注解并没有触发它的拦截器。它可以工作,但如果我创建类Test2并将方法methodB移动到此类 - 则按预期方式缓存此方法的结果。

如何从同一个类启用缓存方法?

回答

1

至于现在,它似乎是不可能的 - 如果我们坚持CacheResult注解。

这是因为拦截器无法正常上课时使用的方法,通过this参考解雇 - 通过CDI不能及的。如果我们想缓存它们,我们需要使用另一种方式,或者只是调用一些静态方法,比如说cacheMe,每private方法中。

相关问题