zoukankan      html  css  js  c++  java
  • tomcat8的session共享实现方案

    tomcat8的session共享实现

    下载tomcat

    版本:apache-tomcat-8.0.53.zip

    实现步骤,只需要两步

    1. 两个tomcat的server.xml都增加一样cluster配置
    	<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.ClusterSessionListener" />
    	</Cluster>
    
    1. 两个tomcat的应用的web.xml下都增加

    比如在:
    /Users/Library/Tomcat/apache-tomcat-8.0.53-8081/webapps/ROOT/WEB-INF/web.xml
    增加:

    	<distributable/>
    
    1. 然后重启两台tomcat即可

    新建jsp测试

    session.jsp

    <html>
    <head>
    <title>test2</title>
    </head>
    <body>
    	SessionID is
    	<%=session.getId()%>
    	<BR> SessionIP is
    	<%=request.getServerName()%>
    	<BR> SessionPort is
    	<%=request.getServerPort()%>
    	<%
    		out.println("Response from tomcat2");
    	%>
    </body>
    </html>
    

    比如放置在:
    /Users/Library/Tomcat/apache-tomcat-8.0.53-8082/webapps/ROOT/session.jsp
    另一台一样。

    访问:
    http://localhost:8081/session.jsp
    http://localhost:8082/session.jsp

    sessionid一致:

    SessionID is 6E5D26E07FDE6FB5D01A59F457D64333 
    SessionIP is tomcat.chinaunicom.tech 
    SessionPort is 80 Response from tomcat1
    
    SessionID is 6E5D26E07FDE6FB5D01A59F457D64333 
    SessionIP is tomcat.chinaunicom.tech 
    SessionPort is 80 Response from tomcat2
    

    注意事项

    1. 需要使用tomcat8版本(上述测试在8.0.53上通过)。如果需要tomcat7,需要修改配置
    2. 不要漏了distributable的配置,漏了session也不能共享
    3. 这种方案只适用于并发量较少的应用,并发量大需使用redis等方案

    参考官网:
    http://localhost:8082/docs/cluster-howto.html
    http://tomcat.apache.org/tomcat-8.0-doc/config/cluster.html
    翻译:
    http://wiki.jikexueyuan.com/project/tomcat/clustering.html

  • 相关阅读:
    [AS3]AMF3+JAVA的调用范例
    SmartFoxServer,多人flash游戏开发
    Flex2 发现之旅:在Flex中嵌入完整HTML页面
    让.Net 程序脱离.net framework框架运行
    ASP.NET 数据列表控件的分页总结
    中国移动飞信免费发短信API接口(第三方 Fetion API)[原创]
    Ubuntu下安装wine详细介绍
    SQL SERVER 2008 R2 序列号大全
    linux 下安装ATI 显卡驱动
    jdk 环境变量设置
  • 原文地址:https://www.cnblogs.com/ouyida3/p/9425027.html
Copyright © 2011-2022 走看看