配置Tomcat将Session持久化到MySQL

首先,在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

你可能感兴趣的:(tomcat,mysql,session,持久化)