首页 新闻 会员 周边 捐助

Spring Boot 配置 Shiro 和 EhCache 产生冲突,求大神解决

0
悬赏园豆:200 [待解决问题]

在Filter中 @Autowired 一个service

这个service中的方法就再也不会用到EhCache ,

如果在Filter中把这个@Autowired 删除掉

service 中加了@Cacheable的方法就能正常被缓存.

 真的是试了各种办法,我猜测是加载顺序的问题,但是就是解决不了啊。

 

@Configuration

public class StatelessAccessControlFilter extends AccessControlFilter {

    @Autowired
    private TokenVerify tkVerify;

       /**就是这边  只要注入这个类,下面那个service的方法每次访问都会进入,不走缓存,去掉就正常了**/
    @Autowired
    private BUserService    userService;


    @Override
    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
        return false;
    }
@Service
public class BUserServiceImpl implements BUserService {
    
    @Override
    @Cacheable(value = LANGUAGE_CACHE_NAME, key = CACHE_KEY + "+#usr_id")
    public Rlanguage getMyLanguage(Integer usr_id) {
        System.out.println( "沒有走索引" );
        return userMapper.getMyLanguage( usr_id );
    }
    public static final String    LANGUAGE_CACHE_NAME    = "language";
    public static final String    CACHE_KEY            = "'language_'";
包子先森的主页 包子先森 | 初学一级 | 园豆:2
提问于:2017-06-21 22:59
< >
分享
所有回答(2)
0

发到 spring4all.com

子木聊出海 | 园豆:204 (菜鸟二级) | 2017-06-27 14:23
0

最好吧shiro的配置贴出来,我也遇到过类似的问题,是因为

ShiroFilterFactoryBean需要用
FilterRegistrationBean去注册
@Bean(name = "shiroFilter")
    public FilterRegistrationBean filterRegistrationBean(SecurityManager securityManager) throws Exception {
        FilterRegistrationBean filterRegistration = new FilterRegistrationBean();
        // 该值缺省为false,表示生命周期由SpringApplicationContext管理,设置为true则表示由ServletContainer管理
        filterRegistration.addInitParameter("targetFilterLifecycle", "true");
        filterRegistration.setFilter((Filter) getShiroFilterFactoryBean(securityManager).getObject());
        filterRegistration.setEnabled(true);
        filterRegistration.addUrlPatterns("/*");
        return filterRegistration;
    }
 
还需要关注下
LifecycleBeanPostProcessor这个类的定义
LsPoPi | 园豆:204 (菜鸟二级) | 2017-06-30 08:40
getShiroFilterFactoryBean这个方法没有@Bean注解 方法体是标准配置
支持(0) 反对(0) LsPoPi | 园豆:204 (菜鸟二级) | 2017-06-30 08:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册