Spring集成Shiro时内存溢出的问题分析

前段时间有一天系统访问量突然增加,系统每隔一两个小时就会由于内存瞬时飙升而宕机。查看内存dump文件发现其中Shiro的SimpleSession对象异常多。后来经分析才发现是由于使用Spring集成Shiro时配置不当导致的。当时的配置如下:"sessionManager" class="org.apache.shiro.session.mgt.DefaultSessionMan
摘要由CSDN通过智能技术生成

        前段时间有一天系统访问量突然增加,系统每隔一两个小时就会由于内存瞬时飙升而宕机。查看内存dump文件发现其中ShiroSimpleSession对象异常多。后来经分析才发现是由于使用Spring集成Shiro时配置不当导致的。当时的配置如下:

  1. <bean id="sessionManager" class="org.apache.shiro.session.mgt.DefaultSessionManager">  
  2.     <property name="globalSessionTimeout" value="3600000"/>  
  3.     <property name="deleteInvalidSessions" value="true"/>  
  4.     <property name="sessionValidationSchedulerEnabled" value="true"/>  
  5.     <property name="sessionDAO" ref="sessionDAO"/>  
  6. </bean>  

        该配置中使用Shiro自带的用户会话超时校验功能,每一个小时执行一次该逻辑。 

        经过研究源代码发现有需要进行认证授权等验证的请求进入的时候,DefaultSessionManager对象(即上面配置的

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值