ehcache内部调用不添加缓存

爪哇小贩 发布于 2016/07/08 18:43
阅读 273
收藏 0

@红薯 请教一个问题,用spring注解方式执行ehcache缓存操作,如果是程序间调用就不添加缓存,必须http请求才能添加,这是为什么,例如下面例子。如果后台定时任务执行getUser1(),就不能加入缓存。但是通过controller的getUser()执行就能加入缓存

@Service
public class UserService{
    @Resource(name = "userDao")
    private UserDao dao;


    public UserDomain getUser1(String name) {
        return getUser(name);
    }

    @Cacheable(value = "userCache", key = "#name")
    public UserDomain getUser(String name) {
        return dao.getUser(name);
    }
}

@Controller
public class UserController{
    @Resource(name = "userService")
    private UserService service;

    @RequestMapping("/getUser")
    @ResponseBody
    public User getUser(String name){
        return service.getUser(name);
    }
}





加载中
1
红薯
红薯
spring 我真不会
0
周敏文
周敏文

就像你说的啊,内部调用还有子类调用无法使用缓存,因为ehcache要使用代理才可以缓存。

返回顶部
顶部