tomcat cluster session同步的问题?(在线等)

tomcat cluster session同步的问题?(在线等)

我已能对内部两台tomcat进行分发,

但是session的同步却一直不成功
每台机器上已找到了对方
机器一

[Copy to clipboard] [ - ]
CODE:
Nov 4, 2006 3:23:35 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://1.1.1.2:4001,1.1.1.2,4001, alive=384615]

机器二

[Copy to clipboard] [ - ]
CODE:
Nov 4, 2006 11:55:45 AM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://1.1.1.1:4001,1.1.1.1,4001, alive=245178]

session却不能共享

我的配置文件

[Copy to clipboard] [ - ]
CODE:
       <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                 managerClassName="org.apache.catalina.cluster.session.DeltaManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="true">
            <Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.4"
                mcastPort="45564"
                mcastFrequency="120"
                mcastDropTime="240"/>

            <Receiver
                className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="1.1.1.2"
                tcpListenPort="4001"
                tcpSelectorTimeout="100"
                tcpThreadCount="6"/>

            <Sender
                className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"/>

            <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
                   filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
                  
            <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                      tempDir="/tmp/war-temp/"
                      deployDir="/tmp/war-deploy/"
                      watchDir="/tmp/war-listen/"
                      watchEnabled="false"/>
        </Cluster>

我在web.xml中已加入了<distributable/>
我的版本为tomcat5.0.28,jdk为1.5

一直未找到解决方法,还请有成功经验的高手指教

谢谢

测试了同一台机器的session复制,没有问题,

在两台机器上却不行,

配置基本一样,除了tcplisten外,

急啊,

有个项目要用,

请高手指教

谢谢了
不同机器间复制要Multi cast ,你看看网络中是否允许组播?
Tomcat的session同步还有其他方法,除了你用的广播的方式外,你可以试试将session写到一个共享文件,或者写到一个数据库中,后两种方式的可控性都比广播要强。
我网络中允许组播的,
如果写数据库的话,量大的话,对数据库压力是不是大点
担心数据库负载
可以将session写到一个独立于应用之外的数据库中,这样对应用数据库的负载影响就小多了 .
奇怪,我用tomcat5.0.28,jdk为1.5,在两台服务器上做session同步,已经打开了组播功能,碰到的情况和楼主一模一样。
请问lz最后是怎么解决问题的?
在http://tomcat.jaxwiki.org/cluster-howto.html上找到了问题的原因:
-------------------
注意:记住你的会话状态是被一个cookie跟踪的,所以你的URL从外面看必须是相同的,否则一个新的session就会被产生。
--------------------
在同一台机器上做session复制测试的时候,用的是同一个URL地址(IP相同,端口不同)测试的;而在两台机器上做测试的时候,用的是不同的URL地址(IP不同),这样cookie就不一样了,导致session被重新生成。