Tomcat会话持久化配置

背景

在Java Web应用中,会有一些应用重启的操作,如系统升级,怎么在重启过程中,如何保证Session也能被恢复呢,这就可以通过Tomcat的会话持久化配置实现。

持久化配置

Tomcat默认是支持会话持久化的,在服务重启时将当前在线会话信息持久化本地磁盘。其配置文件为context.xml,其中有对持久化的描述信息如下:

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

即Tomcat默认支持会话持久化,如果需要关闭,则需要放开Manager节点的配置信息。此外,我们也可以定义配置Manager信息,指定持久化文件的目录:

<Manager className="org.apache.catalina.session.PersistentManager" >
    debug=0
    saveOnRestart="true"
    maxActiveSession="-1"
    minIdleSwap="-1"
    maxIdleSwap="-1"
    maxIdleBackup="-1"
    <Store className="org.apache.catalina.session.FileStore" directory="指定目录" />
</Manager>

Tomcat的Session持久化有两种策略,一种是存储到本地文件,还有一种就是存储到数据库。

实现

Tomcat会话持久化的本质是利用Java的序列化实现的,所以应用中保存到HttpSession对象中的信息都必须实现Java 的Serializable接口,否则持久化就不会生效。

应用中的用户登录操作是通过往HttpSession中存储User对象信息的,所以只需要让User实现序列化接口,然后用Tomcat的默认持久化配置就能实现应用重启、用户不需要重登陆的效果了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值