TOMCAT 集群之 PERSISTENT SESSION

本文提供了一套详细的步骤,演示如何在Tomcat应用中将session持久化到数据库,包括环境准备、安装配置及关键代码解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tomcat的session保存在数据库中,不是很复杂,写下来供大家参考。

准备工作:

  1. 两架Ubuntu Server 12.04 64位,确定两级服务器可以互相ping的通并属于同一个网段
  2. 安装jdk1.6或者jdk1.7
  3. 安装tomcat 6或者tomcat7
  4. 测试multicast 参考文章http://www.javalinux.me/archives/840.html
  5. 在你的程序中的web.xml中加入<distributable/> 并测试是否可以运行
  6. 确认所有的session 属性全部有implements java.io.Serializable

1. 修改conf/context.xml 加入如下内容:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
< Manager className = 'org.apache.catalina.session.PersistentManager'
         saveOnRestart = 'false' minIdelSwap = '0' maxIdleSwap = '0'  maxIdleBackup = '1' >
         < Store className = "org.apache.catalina.session.JDBCStore"
             driverName = "com.mysql.jdbc.Driver"
             connectionURL = "jdbc:mysql://localhost/tomcat_session?user=root&amp;password=123456"
             sessionTable = "sessions"
             sessionIdCol = "session_id"
             sessionDataCol = "session_data"
             sessionValidCol = "valid_session"
             sessionMaxInactiveCol = "max_inactive"
             sessionLastAccessedCol = "last_access"
             checkInterval = "10"
             sessionAppCol = 'app_name' />
     </ Manager >

这种配置将会把所有这个tomcat下面的session全部复制到数据库中,如果你只想要复制某个程序的话,将这个context.xml 保存到META-INF里面

2. 将mysql的jdbc 驱动复制到tomcat/lib下面

3. 修改catalina.sh, 在其最上面加入

1
JAVA_OPTS= '-Dorg.apache.catalina.session.StandardSession.ACTIVITY_CHECK=true'


完毕,你现在可以部署程序测试了

参考文章:http://www.intelligrape.com/blog/2010/07/21/tomcat-6-session-persistence-through-jdbcstore/
http://tomcat.apache.org/tomcat-6.0-doc/config/manager.html
http://www.datadisk.co.uk/html_docs/java_app/tomcat6/tomcat6_clustering.htm

转载于:https://www.cnblogs.com/fx2008/p/4148389.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值