基于tomcat集群会话保持(DeltaManager)

来源:互联网 发布:同步推苹果助手 mac 编辑:程序博客网 时间:2024/06/06 03:38

一、DeltaManager会话管理器配置

1.配置server.xml

注意

接收器: Receiver中address:最好不要为auto,auto时可能会绑定到127.0.0.1上,则接受不到组播
<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN">  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />  <!-- Security listener. Documentation at /docs/config/listeners.html  <Listener className="org.apache.catalina.security.SecurityListener" />  <Listener className="org.apache.catalina.core.JasperListener" />  <!-- Prevent memory leaks due to use of particular java/javax APIs-->  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />  <GlobalNamingResources>    <Resource name="UserDatabase" auth="Container"              type="org.apache.catalina.UserDatabase"              description="User database that can be updated and saved"              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"              pathname="conf/tomcat-users.xml" />  </GlobalNamingResources>     <Service name="Catalina">    <Connector port="8080" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443" />    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />    <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="4500" frequency="500" dropTime="3000"/>                        <Receiver                                className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="192.168.17.174(或175)" 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"/>                <ClusterListener                        className="org.apache.catalina.ha.session.ClusterSessionListener"/>        </Cluster>      <!-- Use the LockOutRealm to prevent attempts to guess user passwords           via a brute-force attack -->      <Realm className="org.apache.catalina.realm.LockOutRealm">        <!-- This Realm uses the UserDatabase configured in the global JNDI             resources under the key "UserDatabase".  Any edits             that are performed against this UserDatabase are immediately             available for use by the Realm.  -->        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"               resourceName="UserDatabase"/>      </Realm>      <Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log." suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" />      </Host>    </Engine>  </Service></Server>

二、web.xml配置分布式访问

添加<web-app>        <diatributable/></web-app>

在对应的host中新建WEB-INF目录文件,放入web.xml

三、测试jsp脚本

<%@ page language="java" %><html><head><title>TomcatB</title></head><body><h1><font color="blue">TomcatB </h1><table align="centre" border="1"><tr><td>Session ID</td><% out.println("hello world,175");%><% session.setAttribute("abc","abc"); %><td><%= session.getId() %></td></tr><tr><td>Created on</td><td><%= session.getCreationTime() %></td></tr></table></body></html>
阅读全文
0 0
原创粉丝点击