2台linux 服务器 分别 tomcat1 tomcat2集群配置已经成功了分别启动1、2这是启动2后的信息
2010-5-4 4:06:50 org.apache.catalina.cluster.tcp.SimpleTcpCluster memberDisappeared
信息: Received member disappeared:org.apache.catalina.cluster.mcast.McastMember[tcp://10.13.26.21:4001,catalina,10.13.26.21,4001, alive=4147459]2010-5-4 4:06:53 org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
信息: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://10.13.26.21:4001,catalina,10.13.26.21,4001, alive=1]说明2台服务器已经建立组播通信但是 测试session 的时候 发现session并没有复制 (已经在项目中加入了<distributable/>)测试过程比较简单
1中的测试页面
session.setAttribute("test","success");2中的页面
out.println(session.getAttribute("test"));同一个IE 同一个窗口下
测试发现 2中页面为nulltomcat的集群不是实现了session复制吗?为什么session没有复制过去呢?
希望高手解答下,困扰好多天了,急死!网上的解决方案几乎看遍了!
2010-5-4 4:06:50 org.apache.catalina.cluster.tcp.SimpleTcpCluster memberDisappeared
信息: Received member disappeared:org.apache.catalina.cluster.mcast.McastMember[tcp://10.13.26.21:4001,catalina,10.13.26.21,4001, alive=4147459]2010-5-4 4:06:53 org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
信息: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://10.13.26.21:4001,catalina,10.13.26.21,4001, alive=1]说明2台服务器已经建立组播通信但是 测试session 的时候 发现session并没有复制 (已经在项目中加入了<distributable/>)测试过程比较简单
1中的测试页面
session.setAttribute("test","success");2中的页面
out.println(session.getAttribute("test"));同一个IE 同一个窗口下
测试发现 2中页面为nulltomcat的集群不是实现了session复制吗?为什么session没有复制过去呢?
希望高手解答下,困扰好多天了,急死!网上的解决方案几乎看遍了!
worker.controller.sticky_session=true
workers.properties设置session可以复制了吗
你确定你的请求被分配到2号机上了?还是你手动的在地址栏里打上2的地址?如果是先访问的1号服务器,再在地址栏上把地址改成2号机再访问,这样明显不是同一个session。
如果是从1号服务器的访问后被自动分配(负载均衡)到2号服务器,这样才是同一个session号
并且 session是不复制的5楼 如果是从1号服务器的访问后被自动分配(负载均衡)到2号服务器,这样才是同一个session号试过,结果一样是null
worker.controller.sticky_session_force=false
我是这么设置的