Hi all,
I'm setting up a Tomcat cluster on two servers, and I keep getting a
ClassCastException on a session variable (GW). The server which handles
the request works well, but the other one can't get the session data.
Its GW object seems to be instantiated,
valueBound(HttpSessionBindingEvent event) is called, the object is added
to the session, then I get the Exception.
I tried with Tomcat 5.5.16 and 5.5.17, with several <Sender>
replicationMode.
My session variable com.package1.subpackage1.GW implements the
Serializable interface and contains some classes which are also
Serializable. I don't see any Exception from the writeObject or
readObject methods on any server.
My config :
<Cluster
className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="synchronous"
autoConnect="true"
keepAliveTimeout="-1"
ackTimeout="15000"/>
<Valve
className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<Deployer
className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener
className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
</Cluster>
The Exception's log :
18 mai 2006 16:48:28 org.apache.catalina.cluster.session.DeltaSession
setAttribute
GRAVE: Session attribute event listener threw exception
java.lang.ClassCastException: com.package1.subpackage1.GW
at
common.listeners.ClusterAppSessionListener.printSessionInfo(ClusterAppSessionListener.java:47)
at
common.listeners.ClusterAppSessionListener.attributeAdded(ClusterAppSessionListener.java:26)
at
org.apache.catalina.cluster.session.DeltaSession.setAttribute(DeltaSession.java:1310)
at
org.apache.catalina.cluster.session.DeltaRequest.execute(DeltaRequest.java:159)
at
org.apache.catalina.cluster.session.DeltaManager.handleSESSION_DELTA(DeltaManager.java:1565)
at
org.apache.catalina.cluster.session.DeltaManager.messageReceived(DeltaManager.java:1516)
at
org.apache.catalina.cluster.session.DeltaManager.messageDataReceived(DeltaManager.java:1268)
at
org.apache.catalina.cluster.session.ClusterSessionListener.messageReceived(ClusterSessionListener.java:85)
at
org.apache.catalina.cluster.tcp.SimpleTcpCluster.receive(SimpleTcpCluster.java:1163)
at
org.apache.catalina.cluster.tcp.ClusterReceiverBase.messageDataReceived(ClusterReceiverBase.java:418)
at
org.apache.catalina.cluster.io.ObjectReader.execute(ObjectReader.java:107)
at
org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel(TcpReplicationThread.java:138)
at
org.apache.catalina.cluster.tcp.TcpReplicationThread.run(TcpReplicationThread.java:69)
What did I miss ?
Regards,
--
Jean-Christophe Praud - http://shub-niggurath.com
Conseil & Développement Informatique http://www.praud.com
Ph'nglui mglw'nafh Cthulhu n'gah Bill R'lyeh Wgah'nagl fhtagn!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]