[Session共享]Tomcat集群实现Session共享
来源:互联网 发布:苏小红c语言第三版pdf 编辑:程序博客网 时间:2024/05/17 04:49
前言
实现Session共享的方法有很多种,利用redis、mysql或Tomcat等均可实现Session共享,本次是使用Tomcat实现Session共享。但此方案也有弊端,仅仅作用于Tomcat,以后会继续更新文章,推出其他解决方案。
环境准备
1、两个Tomcat
2、两个项目
首先我们简单配置一下项目,在index.jsp中添加如下测试代码,用来测试服务器间的的Session是否同步。
<body> SessionID:<%=session.getId()%> <BR> SessionIP:<%=request.getServerName()%> <BR> SessionPort:<%=request.getServerPort()%> </body>
然后我们需要配置Tomcat的server.xml
<Engine name="Catalina" defaultHost="localhost">
在这段代码下面添加如下代码
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>
例如:
<Engine name="Catalina" defaultHost="localhost"> <Cluster> </Cluster><Engine>
两个Tomcat配置完毕后,我们修改一下两个项目的web.xml,添加
<distributable/>
例如:
<web-app> <display-name>spring</display-name> <distributable /> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list></web-app>
接下来我们启动两个项目测试一下
至此Session已经实现了Tomcat集群间的共享
阅读全文
0 0
- [Session共享]Tomcat集群实现Session共享
- Tomcat集群实现Session共享
- tomcat集群session共享
- tomcat集群session共享
- tomcat集群session共享
- tomcat集群session共享
- tomcat集群 session共享
- tomcat集群共享session
- Memcache 实现tomcat集群session共享
- tomcat集群添加msm实现session共享
- 基于Nginx+Tomcat集群实现Session共享
- memcached实现集群tomcat的session共享
- memcached实现tomcat集群的session共享
- Memcached_Session_Manager(msm)实现tomcat集群session共享
- tomcat集群中实现Session共享
- 使用Memcached实现Tomcat集群Session共享
- tomcat集群多节点实现session共享
- redis实现tomcat集群session共享
- Android设备通过NTRIP协议获取差分数据实现高精度定位
- ajax提交form表单
- kubernetes部署(高可用版)
- 【设计模式】-几种关系在代码中的体现
- javascript 继承
- [Session共享]Tomcat集群实现Session共享
- 贪心算法解决找零钱问题
- kubernetes的ceph RBD volume(5): 创建动态的volume绑定随replica scale的扩容和缩容的pod
- Linux系统的内核态和用户态
- Java(1):方法重载(1)
- 原生JS获取和设置指定属性
- OpenStack Tacker介绍
- hdu2104 辗转相除法
- 看完让你彻底搞懂Websocket原理