您的位置:首页 > 其它

shiro SessionDao不设置CacheManager也可以使用缓存的一个问题

2016-09-08 14:21 417 查看
发现配置SessionDao的时候不设置CacheManager也可以使用缓存

但是你如果在securityManager中设置了SessionManager

public void setSessionManager(SessionManager sessionManager) {
this.sessionManager = sessionManager;
this.afterSessionManagerSet();
}

它会调用afterSessionManagerSet()方法,然后又会调用applyCacheManagerToSessionManager()方法

protected void afterSessionManagerSet() {
this.applyCacheManagerToSessionManager();
this.applyEventBusToSessionManager();
}

protected void applyCacheManagerToSessionManager() {
if(this.sessionManager instanceof CacheManagerAware) {
((CacheManagerAware)this.sessionManager).setCacheManager(this.getCacheManager());
}

}

applyCacheManagerToSessionManager会把CacheManager设置到SessionManager中,SessionManager又会把CacheManager设置到SessionDao..

他们都实现了CacheManagerAware接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐