Either your visit is not serializable, or a persistent property is not serializable. Generally, web containers serialize attributes of a session when they start transporting the sessions around in clusters.
Richard -----Original Message----- From: Werner Lehmann [mailto:[EMAIL PROTECTED] Sent: Friday, June 17, 2005 9:54 AM To: Tapestry users Subject: NotSerializableException: DelegatingPropertySource (WebLogic) Hi, does anyone have a clue why WebLogic 8.1 SP2 throws this error? I have a Tapestry 3.0.3 application running on it and if I "hammer" the app with two continuously running wgets I receive exceptions like below eventually: > ####<16.06.2005 15.10 Uhr CEST> <Error> <HTTP> <miraculix> <MintManaged> <ExecuteThread: '12' for queue: 'weblogic.kernel.Default'> <<anonymous>> <> <BEA-101309> <[ServletContext(id=27529215,name=mymint,context-path=/mymint)] could not deserialize the context attribute "org.apache.tapestry.PropertySource:MyMint" > java.io.NotSerializableException: org.apache.tapestry.util.DelegatingPropertySource > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278) > at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:9 5) > at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:6 7) > at weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppServletCon text.java:637) > at org.apache.tapestry.engine.AbstractEngine.setupForRequest(AbstractEngine.jav a:1278) > at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:841) > at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:198 ) > at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:159) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle tStubImpl.java:1053) > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :387) > at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) > at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) > at org.apache.tapestry.RedirectFilter.doFilter(RedirectFilter.java:106) > at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) > at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W ebAppServletContext.java:6316) > at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec t.java:317) > at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) > at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo ntext.java:3622) > at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java :2569) > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) When this happens, most of the time it is followed by other very similar call stacks with just other Tapestry classes, e.g. > java.io.NotSerializableException: org.apache.tapestry.enhance.DefaultComponentClassEnhancer > java.io.NotSerializableException: org.apache.tapestry.util.pool.Pool > java.io.NotSerializableException: org.apache.tapestry.engine.DefaultTemplateSource > java.io.NotSerializableException: org.apache.tapestry.pageload.PageSource among others. These classes are not serializable (at least, DelegatingPropertySource is not, it does not even implement the interface). Also strange: it complains about not being able to "deserialize the context attribute" (as in the trace above). Hence _serializing_ was not a problem for it? Might this be related to this fix in WebLogic 8.1 SP5? CR189815: http://e-docs.bea.com/wls/docs81/notes/resolved_sp05.html#1864954 > If any change was made in the HttpServletContext that extends > ActionForm in Struts framework, WebLogic Server was throwing a > ClassCastException while accessing it. > > Now, when the servlet is reloaded, any non-serializable attribute > (stored in HttpServletContext) that is loaded using the servlet or > its child classes is removed from HttpServletContext. As a result, > the WebLogic Server no longer throws a ClassCastException while > accessing HttpServletContext. Regards Werner --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
