Hi everybody,
I am trying to cluster Tomcat Servers ver 5.0.18 (Two servers) and my application
servlets are accessing Stateful session beans. Typically, the first invocation of the
servlet gets the Remote of the SFSB and stores it into the session. The other Tomcat's
in the cluster throw up an error "ClassNotFoundException while loading persisted
sessions". I have the same war file deployed in all the Tomcats and the Tomcats in
turn talk to the same app server (JBOSS 3.2.3). I am attaching my configuration and
log outputs of both the servers. Would like to know if this is a bug/limitation or is
there a solution to it.
Cheers
Suraj
------------------------------------------------------------------
This is the log file o/p of the first server (which the client actually is accessing):
INFO: Jk running ID=0 time=0/16 config=C:\Tomcat5\conf\jk2.properties
Mar 18, 2004 4:25:40 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5297 ms
Mar 18, 2004 4:26:20 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
INFO: Replication member
added:org.apache.catalina.cluster.mcast.McastMember[tcp://10.5.18.9:4001,10.5.18.9,4001,
alive=16]
--------------------------------------------------------------------
This is the log file o/p of the second server (which starts up and joins the cluster
after a session has been created in the first server)
Mar 18, 2004 4:25:12 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on port 8888
Mar 18, 2004 4:25:12 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1125 ms
Mar 18, 2004 4:25:12 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Mar 18, 2004 4:25:12 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.0.18
Mar 18, 2004 4:25:12 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Mar 18, 2004 4:25:12 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Mar 18, 2004 4:25:12 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start
INFO: Sleeping for 2000 secs to establish cluster membership
Mar 18, 2004 4:25:12 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded
INFO: Replication member
added:org.apache.catalina.cluster.mcast.McastMember[tcp://10.5.18.27:4001,10.5.18.27,4001,
alive=45657]
Mar 18, 2004 4:25:14 PM org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx )
Mar 18, 2004 4:25:14 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL
file:C:\Tomcat5\conf\Catalina\localhost\admin.xml
Mar 18, 2004 4:25:15 PM org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
Mar 18, 2004 4:25:15 PM org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
Mar 18, 2004 4:25:15 PM org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.webapp.admin.ApplicationResources',
returnNull=true
Mar 18, 2004 4:25:16 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL
file:C:\Tomcat5\conf\Catalina\localhost\balancer.xml
Mar 18, 2004 4:25:16 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL
file:C:\Tomcat5\conf\Catalina\localhost\manager.xml
Mar 18, 2004 4:25:16 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /TestWeb from URL
file:C:/Tomcat5/webapps/TestWeb
Mar 18, 2004 4:25:17 PM org.apache.catalina.cluster.session.DeltaManager start
INFO: Starting clustering manager...:/TestWeb
Mar 18, 2004 4:25:17 PM org.apache.catalina.cluster.session.DeltaManager doLoad
SEVERE: ClassNotFoundException while loading persisted sessions:
java.lang.ClassNotFoundException: chnhr.EmployeeEditorSB
java.lang.ClassNotFoundException: chnhr.EmployeeEditorSB
at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:891)
at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:756)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at java.io.ObjectInputStream.resolveProxyClass(ObjectInputStream.java:630)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1469)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1432)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at
org.apache.catalina.cluster.session.DeltaSession.readObject(DeltaSession.java:1456)
at
org.apache.catalina.cluster.session.DeltaSession.readObjectData(DeltaSession.java:921)
at
org.apache.catalina.cluster.session.DeltaManager.doLoad(DeltaManager.java:480)
at
org.apache.catalina.cluster.session.DeltaManager.messageReceived(DeltaManager.java:869)
at
org.apache.catalina.cluster.session.DeltaManager.messageDataReceived(DeltaManager.java:787)
at
org.apache.catalina.cluster.tcp.SimpleTcpCluster.messageDataReceived(SimpleTcpCluster.java:710)
at org.apache.catalina.cluster.io.ObjectReader.execute(ObjectReader.java:117)
at
org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel(TcpReplicationThread.java:175)
at
org.apache.catalina.cluster.tcp.TcpReplicationThread.run(TcpReplicationThread.java:113)
Mar 18, 2004 4:25:17 PM org.apache.catalina.cluster.session.DeltaManager
messageReceived
SEVERE: Unable to receive message through TCP channel
java.lang.ClassNotFoundException: chnhr.EmployeeEditorSB
at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:891)
at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:756)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at java.io.ObjectInputStream.resolveProxyClass(ObjectInputStream.java:630)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1469)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1432)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at
org.apache.catalina.cluster.session.DeltaSession.readObject(DeltaSession.java:1456)
at
org.apache.catalina.cluster.session.DeltaSession.readObjectData(DeltaSession.java:921)
at
org.apache.catalina.cluster.session.DeltaManager.doLoad(DeltaManager.java:480)
at
org.apache.catalina.cluster.session.DeltaManager.messageReceived(DeltaManager.java:869)
at
org.apache.catalina.cluster.session.DeltaManager.messageDataReceived(DeltaManager.java:787)
at
org.apache.catalina.cluster.tcp.SimpleTcpCluster.messageDataReceived(SimpleTcpCluster.java:710)
at org.apache.catalina.cluster.io.ObjectReader.execute(ObjectReader.java:117)
at
org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel(TcpReplicationThread.java:175)
at
org.apache.catalina.cluster.tcp.TcpReplicationThread.run(TcpReplicationThread.java:113)
Mar 18, 2004 4:25:17 PM org.apache.catalina.cluster.session.DeltaManager start
WARNING: Manager[/TestWeb], requesting session state from
org.apache.catalina.cluster.mcast.McastMember[tcp://10.5.18.27:4001,10.5.18.27,4001,
alive=45657]. This operation will timeout if no session state has been received within
60 seconds
Mar 18, 2004 4:26:17 PM org.apache.catalina.cluster.session.DeltaManager start
SEVERE: Manager[/TestWeb], No session state received, timing out.
Mar 18, 2004 4:26:17 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /jsp-examples from URL
file:C:\Tomcat5\webapps\jsp-examples
Mar 18, 2004 4:26:17 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path from URL file:C:\Tomcat5\webapps\ROOT
Mar 18, 2004 4:26:17 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /servlets-examples from URL
file:C:\Tomcat5\webapps\servlets-examples
Mar 18, 2004 4:26:17 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /tomcat-docs from URL
file:C:\Tomcat5\webapps\tomcat-docs
Mar 18, 2004 4:26:17 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 8888
----------------------------------------------------------------------------------------------------
This is my cluster configuration
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
name="TomcatCluster"
debug="10"
serviceclass="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"
tcpThreadCount="6"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
printToScreen="false"
expireSessionsOnShutdown="false"
useDirtyFlag="false"
replicationMode="pooled"
/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
___________________________________________________________________