ehcache是单例的,如果系统已经集成了ehcache,然后shiro使用ehcache的时候,就不能使用默认的配置,应该改为工厂的方式获取ehcache实例
@Bean(name = "ehcache")
public EhCacheManagerFactoryBean ehCacheFactory(){
EhCacheManagerFactoryBean ehCacheFactory = new EhCacheManagerFactoryBean();
ehCacheFactory.setConfigLocation(new ClassPathResource("ehcache.xml"));
ehCacheFactory.setShared(true);
return ehCacheFactory;
}
@Bean
public EhCacheManager getEhCacheManager() {
EhCacheManager ehcacheManager = new EhCacheManager();
ehcacheManager.setCacheManager(ehCacheFactory().getObject());
return ehcacheManager;
}