tomcat的session存入mysql

在负载均衡的时候,tomcat的session需要配置存储在数据库中,以便多个tomcat共享session.具体配置如下:

1.tomcat下的conf/context.xml文件配置

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

2.创建mysql数据库tomca_session,并创建表sessions

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)  
);

3.mysql驱动jar包mysql-connector-java.jar 拷贝到tomcat的lib下


部署一个用到session的web应用到tomcat下,启动并登录系统然后可以观察sessions表的变化。