msm 多tomcat之间session共享

 http://huangqiqing123.iteye.com/blog/1966894

 

memcached-session-manager 简称msm,是一个开源的tomcat插件。

官方网站地址:

http://code.google.com/p/memcached-session-manager/

官方网站关于msm安装配置说明地址:

http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

 

1、下载相关jar包(msm官网都可以找到),将它们放置到tomcat/lib路径下。

Tomcat 7,kryo序列化方式,所需jar:



  

Tomcat 6,kryo序列化方式,所需jar:



  

 

可用的序列化方式包括:

Java serialization

Kryo based serialization

Javolution based serialization

XStream based serialization

共四种,对应的实现类分别是:

de.javakaffee.web.msm.JavaSerializationTranscoderFactory

de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory

de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory

de.javakaffee.web.msm.serializer.xstream.XStreamTranscoderFactory

不同序列化方式,需要不同的jar包,据说kryo序列化方式效率高(笔者未验证),所以笔者采用的是kryo。

 

2、配置context

Context可以在conf/server.xml文件中配置,作用域是当前context指向的应用,



  

 

也可以在conf/context.xml文件中配置,context.xml是公共配置文件,作用域是所有应用。



  

 

也可以在指定应用路径下的META-INF/context.xml中配置,作用域是当前应用。



  

 

3、设置sessioncookiepath

设置sessioncookiepath的目的是让JSESSIONID直接存储在domain下,不同path的应用共享同一个JSESSIONID,进而共享同一个session。

如果需要跨domain共享session,则还需要修改sessioncookiedomain,使不同domain的应用共享同一个JSESSIONID,进而共享同一个session。

不同Tomcat版本,设置方式不一样.

 

Tomcat6/conf/server.xml



  

 

Tomcat7

设置在context标签中,如:$Tomcatpath$/conf/server.xml 或 $Tomcatpath$/conf/context.xml 或 $apppath$/META-INF/context.xml



  

 

4、nginx反向代理配置

Nginx/conf/nginx.conf



  

 

 

5、测试URL

http://localhost/t1/t1.jsp
http://localhost/t2/t2.jsp

猜你喜欢

转载自huangqiqing123.iteye.com/blog/1966894