There was a change in the StandardManager class for Tomcat 5.5.9 that
deprecated the createSession method and created the
createSession(sessionId) method to allow emptySessionPath="true" to
work. The SimpleTcpReplicationManager which subclasses StandardManager
was not updated to reflect this change. Now if you try to use the
SimpleTcpReplicationManager with the emptySessionPath="true"
configuration set the follow exception is thrown:
ERROR org.apache.catalina.cluster.session.SimpleTcpReplicationManager -
[Unable to replicate session] 2005-06-22 13:13:42,657
java.lang.ClassCastException: org.apache.catalina.session.StandardSession
at
org.apache.catalina.cluster.session.SimpleTcpReplicationManager.requestCompleted(SimpleTcpReplicationManager.java:258)
at
org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:206)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)
at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Doing some debugging it looks like "Request.doGetSession(boolean) line:
2204" calls "public Session createSession(String sessionId);" from the
manager interface. Since SimpleTcpReplicationManager does not override
this method but overrides the "public Session createSession();" method
the call goes directly into the StandardManager which returns a
StandardSession. When the SimpleTcpReplicationManager attempts to
replicate this session later it fails when trying to cast it to
ReplicatedSession.
I've created a bug in bugzilla for the problem:
http://issues.apache.org/bugzilla/show_bug.cgi?id=35473
I'm going to try and get a fix working locally but I've never tried to
compile tomcat before. Any help would be much appreciated.
-Eric Dalquist
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]