Tomcat集群Session丢失解决方案

这几天单服务器整合项目很正常,集群的时候问题就来了,配置集群的Session时候已经使用Demo测试过正常的,项目一放上去就挂了,搞了差不多一个星期,其中还试过用Cookie来取代Session,因为安全问题放弃了;网上发现一个很不错的Tomcat的Session管理插件Memcached Session Manager,这个插件是基于Memcached实现的,配置方法如下:

先安装memcached server,首先解压memcached-1.2.6-win32-bin.zip到指定目录(eg:d:/memcached/),然后在cmd窗口上输入memcached -d install 进行安装服务, 然后输入 memcahced -d start启动服务器,服务器监听的端口是11211。

然后再把所需的jar包放到tomcat的lib目录下:
javolution-5.5.1.jar
msm-javolution-serializer-1.5.1.jar
memcached-2.6.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc6-1.5.1.jar

新建一个Web Project测试一下吧。

然后修改tomcat的server.xml配置文件,在Engine -> Host 元素里面配置虚拟上下文

Eg:
<Context reloadable="true" path="/test" docBase="D:/Memcached" >
            <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"      
                memcachedNodes="n1:localhost:11211"  
                requestUriIgnorePattern=".*\.(png|gif|jpg|css|js){1}"
                sessionBackupAsync="false"
                sessionBackupTimeout="100"      
                transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"      
                copyCollectionsForSerialization="false"      
            />  
        </Context>

这样既不就简单完成了。
附件:所需的jar包,不用麻烦去一个个下载。

你可能感兴趣的:(tomcat,集群,memcached)