It appears that Tomcat's clustering is based on serializing objects across the different nodes. The CASReceipt object is not serializable (i.e. does not extend Serializable). The easiest and quickest solution is to modify the source code of the library to make the CASReceipt serializable.
-Scott On 8/30/07, Claudio Tassini <[EMAIL PROTECTED]> wrote: > > Hi all, > > this seems quite strange. I have a clustered cas environment, with tomcat > 5.5.23 and cas 3.0.7 and jboss-cache. All works fine. > > The application that CAS need to manage the SSO for is a Liferay Portal, > which is deployed as a webapp in the very same tomcat as cas' . Now, this > works too as far as I add the <distributable/> tag in the web.xml of the > liferay webapp (which is needed to replicate liferay's session info between > the cluster nodes). If liferay is set as distributable when i login i see > cas give and validates the TGT and ST ticket, and immediately after throws > this exception: > > 13:16:42,183 ERROR [sso.cas.CASFilter] java.lang.IllegalArgumentException: > Attribute [edu.yale.its.tp.cas.client.filter.receipt] is not serializable > java.lang.IllegalArgumentException : Attribute [ > edu.yale.its.tp.cas.client.filter.receipt] is not serializable > at org.apache.catalina.cluster.session.DeltaSession.setAttribute( > DeltaSession.java:1247) > at org.apache.catalina.cluster.session.DeltaSession.setAttribute ( > DeltaSession.java:1225) > at > org.apache.catalina.cluster.session.DeltaSessionFacade.setAttribute( > DeltaSessionFacade.java:131) > at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter( > CASFilter.java :391) > at com.liferay.portal.servlet.filters.sso.cas.CASFilter.doFilter( > CASFilter.java:93) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java :215) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:188) > at > com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter( > VirtualHostFilter.java :136) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:215) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java :188) > at org.apache.catalina.core.StandardWrapperValve.invoke( > StandardWrapperValve.java:210) > at org.apache.catalina.core.StandardContextValve.invoke( > StandardContextValve.java:174) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke( > AuthenticatorBase.java:433) > at org.apache.catalina.core.StandardHostValve.invoke( > StandardHostValve.java:127) > at org.apache.catalina.cluster.tcp.ReplicationValve.invoke( > ReplicationValve.java:347) > at org.apache.catalina.valves.ErrorReportValve.invoke( > ErrorReportValve.java:117) > at org.apache.catalina.core.StandardEngineValve.invoke ( > StandardEngineValve.java:108) > at org.apache.catalina.connector.CoyoteAdapter.service( > CoyoteAdapter.java:151) > at org.apache.jk.server.JkCoyoteHandler.invoke( > JkCoyoteHandler.java:200) > at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java > :283) > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java > :773) > at org.apache.jk.common.ChannelSocket.processConnection ( > ChannelSocket.java:703) > at org.apache.jk.common.ChannelSocket$SocketConnection.runIt( > ChannelSocket.java:895) > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool.java :685) > at java.lang.Thread.run(Thread.java:619) > > Any idea? > -- > Claudio Tassini > > _______________________________________________ > Yale CAS mailing list > [email protected] > http://tp.its.yale.edu/mailman/listinfo/cas > > -- -Scott Battaglia LinkedIn: http://www.linkedin.com/in/scottbattaglia
_______________________________________________ Yale CAS mailing list [email protected] http://tp.its.yale.edu/mailman/listinfo/cas
