开发者社区 问答 正文

ehcache内部调用不添加缓存? 400 报错

ehcache内部调用不添加缓存? 400 报错

@红薯 请教一个问题,用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);
    }
}





展开
收起
爱吃鱼的程序员 2020-06-02 17:25:04 457 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    spring 我真不会######

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

    2020-06-02 17:25:15
    赞同 展开评论
问答分类:
问答地址: