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没有复制过去呢?
希望高手解答下,困扰好多天了,急死!网上的解决方案几乎看遍了!

解决方案 »

  1.   

    以前搞过一次
    worker.controller.sticky_session=true 
    workers.properties设置session可以复制了吗
      

  2.   

    session只能在同一个工程下共享,想在其他工程调用不可以的,你可以用application试试看
      

  3.   

    application 共享的范围是整个服务器,session是同一个工程,request是下一个访问请求JSP或者Servlet,page是同一个JSP或者Servlet
      

  4.   

    同一个IE 同一个窗口下
    你确定你的请求被分配到2号机上了?还是你手动的在地址栏里打上2的地址?如果是先访问的1号服务器,再在地址栏上把地址改成2号机再访问,这样明显不是同一个session。
    如果是从1号服务器的访问后被自动分配(负载均衡)到2号服务器,这样才是同一个session号
      

  5.   

    2楼   worker.controller.sticky_session=true  是 session 粘连    就是会和一个服务器粘住
         并且 session是不复制的5楼   如果是从1号服务器的访问后被自动分配(负载均衡)到2号服务器,这样才是同一个session号试过,结果一样是null
      

  6.   

    worker.controller.sticky_session=true 
    worker.controller.sticky_session_force=false
    我是这么设置的