配置Tomcat将Session持久化到MySQL

y37f 7年前

首先,在conf/context.xml中文件中,将以下的配置加入到根结点下:

<Manager className="org.apache.catalina.session.PersistentManager"        maxActiveSessions="-1"        minIdleSwap="-1"        maxIdleSwap="-1"        maxIdleBackup="-1">          <Store className="org.apache.catalina.session.JDBCStore"          driverName="com.mysql.jdbc.Driver"          connectionURL="jdbc:mysql://2.2.2.76:3306/test_session?user=user&amp;password=password"          sessionTable="sessions"          sessionIdCol="session_id" sessionDataCol="session_data"          sessionValidCol="valid_session" sessionMaxInactiveCol="max_inactive"          sessionLastAccessedCol="last_access" sessionAppCol="app_name" checkInterval="60" />      </Manager>

第二步,将mysql-connector-java-5.1.34-bin.jar复制到tomcat的lib目录下,不然找不到驱动哦

第三步,在数据库test_session中执行以下脚本,创建用于存储session数据的表,即完成

CREATE TABLE sessions (      session_id    VARCHAR(100) NOT NULL PRIMARY KEY,      valid_session CHAR(1) NOT NULL,      max_inactive  INT NOT NULL,      last_access   BIGINT NOT NULL,      app_name      VARCHAR (255),      session_data  MEDIUMBLOB,      KEY kapp_name(app_name)  );

如果需要调整相关的参数的话可以参考tomcat的文档:http://tomcat.apache.org/tomcat-6.0-doc/config/manager.html