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 元素里面配置虚拟上下文 

<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集群)