zoukankan      html  css  js  c++  java
  • SpringBoot学习记录:@Cacheable不起作用 -->原因:Shiro + @Cache整合

    SpringBoot学习记录:@Cacheable不起作用 -->原因:Shrio + @Cache整合

    问题描述:

    1、在使用shiro的项目中,整合Cache,@Cacheable失效

    2、去掉ShiroConfig后,@Cacheable能够最长使用,其他注解也OK

    问题原因:

    @Cacheable ,当使用ehcache时,autoconfig机制会根据配置文件自动去初始化bean

    而shiroConfig在@Configuration构造时,也会去初始化ehcache ,项目启动会产生如下异常

    解决方法:

    realm原始代码(错误):

    public class UserRealm extends AuthorizingRealm {
        @Autowired
        private AdminService adminService;
        @Autowired
        private CadreService cadreService;
        @Autowired
        private ParticipantService participantService;
        @Autowired
        private VoteService voteService;
    
        protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {……}
    
        //认证
        @Override
        protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {……}
    }

    在realm的自动注入下加@Lazy注解,问题解决

    public class UserRealm extends AuthorizingRealm {
        @Autowired
    @Lazy
    private AdminService adminService; @Autowired
    @Lazy
    private CadreService caadreService; @Autowired
    @Lazy
    private ParticipantService participantService; @Autowired
    @Lazy
    private VoteService voteService; protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {……} //认证 @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {……} }
  • 相关阅读:
    jdbc的入门学习
    java代码生成Excel文件3000条自定义属性的的域账户名
    java面试题
    node图片资源捉取
    运用node真机调试移动web项目
    node读取文件转换json文件
    微信小程序页面导航功能
    JavaScript值全等判断
    微信小程序海报生成功能
    JavaScript常用数组操作方法,包含ES6方法
  • 原文地址:https://www.cnblogs.com/itcod/p/12555314.html
Copyright © 2011-2022 走看看