luckyxl0 2020-03-23
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的自动注入下加@Lezy注解,问题解决
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 {……} }