You could write something up and add it to http://wiki.apache.org/myfaces or http://wiki.apache.org/myfaces/Trinidad
wherever it is most appropriate. On 8/27/07, Gerogiannakis Stylianos <[EMAIL PROTECTED]> wrote: > Hello, all, > > After a lot of searching, decompiling and debugging of Weblogic classes > we finally found the culprit. > > It was a non-transient reference to FacesContext from an ancestor class > of a session-level business object initialized by a Filter (phew! I've > said it) > Once this reference was removed there is absolutely no problem during > auto-serialization. > > So, shame on us for not controlling our project better but no problemo > for Trinidad :-) > > Perhaps, you could put this situation in some FAQ, sparing other > similarly absent-minded people of many days of searching. > > Thank you very much for your time and support. > Cheers, > S. > -----Original Message----- > From: Adam Winer [mailto:[EMAIL PROTECTED] > Sent: Monday, August 27, 2007 6:03 PM > To: MyFaces Development > Subject: Re: Problem with MyFaces in a cluster: CacheRenderKit & > NotSerializableException > > It's a bit bizarre - I don't know why anyone would ever > attach a RenderKit instance to session state. Manfred, > any idea why that could happen? > > -- Adam > > > On 8/27/07, Manfred Geiler <[EMAIL PROTECTED]> wrote: > > Can you please open a jira issue for this. > > Thanks, > > Manfred > > > > On 8/24/07, Gerogiannakis Stylianos > <[EMAIL PROTECTED]> wrote: > > > Hello, all, > > > > > > (Please, accept my apologies for any cross-posting) > > > > > > We are facing a tricky as well as blocking problem. > > > > > > We are developing a JSF application on Weblogic 9.2 using Trinidad > 1.0. > > > > > > In stand-alone mode there is no problem. When we try to execute the > > > application on a cluster, as soon the first JSF page is called we > get a > > > java.io.NotSerializable exception in the console. The exception > follows > > > at the end of the mail. > > > > > > The class in question FacesContextFactoryImpl$CacheRenderKit indeed > only > > > extends FacesContext which is not Serializable. > > > > > > My first thought would be if we are trying to do something funny in > our > > > code, but then again the error appears upon rendering the welcome > page, > > > before any of our business logic code. So, I guess it is an internal > > > framework issue. > > > > > > Unfortunately, the stack trace is not very helpful as to pinpoint > the > > > place in the code where the class is added in the session: session > > > serialization occurs asynchronously in Weblogic. > > > > > > Is there some hidden parameter/switch that we have overlooked? > > > Is it a known issue/limitation? > > > If it is the latter, do you think that making the class Serializable > > > would make the problem go away? > > > We are rather short in available time, so we need the quickest > possible > > > fix. > > > > > > Thank you for any help you may provide. > > > > > > Cheers, > > > S. > > > > > > java.rmi.MarshalException: failed to marshal > > > > update(Lweblogic.cluster.replication.ROID;ILjava.io.Serializable;Ljava.l > > > ang.Object;); nested exception is: > > > java.io.NotSerializableException: > > > > org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$Cach > > > eRenderKit > > > at > > > > weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java > > > :91) > > > at > > > weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:222) > > > at > > > > weblogic.cluster.replication.ReplicationManager_921_WLStub.update(Lweblo > > > > gic.cluster.replication.ROID;ILjava.io.Serializable;Ljava.lang.Object;)V > > > (Unknown Source) > > > at > > > > weblogic.cluster.replication.ReplicationManager.updateSecondary(Replicat > > > ionManager.java:528) > > > at > > > > weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(Repl > > > icatedSessionData.java:558) > > > at > > > > weblogic.servlet.internal.session.ReplicatedSessionContext.sync(Replicat > > > edSessionContext.java:82) > > > at > > > > weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(S > > > ervletRequestImpl.java:2507) > > > at > > > > weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(S > > > ervletRequestImpl.java:2482) > > > at > > > > weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl. > > > java:1308) > > > at > > > > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu > > > bject.java:321) > > > at > > > > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121 > > > ) > > > at > > > > weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.j > > > ava:1302) > > > at > > > > weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java > > > :1368) > > > at > weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) > > > at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) > > > Caused by: java.io.NotSerializableException: > > > > org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$Cach > > > eRenderKit > > > at > > > > java.io.ObjectOutputStream.writeObject0(Ljava.lang.Object;Z)V(Unknown > > > Source) > > > at > > > > java.io.ObjectOutputStream.defaultWriteFields(Ljava.lang.Object;Ljava.io > > > .ObjectStreamClass;)V(Unknown Source) > > > at > > > > java.io.ObjectOutputStream.writeSerialData(Ljava.lang.Object;Ljava.io.Ob > > > jectStreamClass;)V(Unknown Source) > > > at > > > > java.io.ObjectOutputStream.writeOrdinaryObject(Ljava.lang.Object;Ljava.i > > > o.ObjectStreamClass;Z)V(Unknown Source) > > > at > > > > java.io.ObjectOutputStream.writeObject0(Ljava.lang.Object;Z)V(Unknown > > > Source) > > > at > > > java.io.ObjectOutputStream.writeObject(Ljava.lang.Object;)V(Unknown > > > Source) > > > at > > > > weblogic.servlet.internal.session.ReplicatedSessionChange.writeExternal( > > > ReplicatedSessionChange.java:114) > > > at > > > > java.io.ObjectOutputStream.writeExternalData(Ljava.io.Externalizable;)V( > > > Unknown Source) > > > at > > > > java.io.ObjectOutputStream.writeOrdinaryObject(Ljava.lang.Object;Ljava.i > > > o.ObjectStreamClass;Z)V(Unknown Source) > > > at > > > > java.io.ObjectOutputStream.writeObject0(Ljava.lang.Object;Z)V(Unknown > > > Source) > > > at > > > java.io.ObjectOutputStream.writeObject(Ljava.lang.Object;)V(Unknown > > > Source) > > > at > > > > weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.ja > > > va:614) > > > at > > > > weblogic.rjvm.MsgAbbrevOutputStream.writeObjectWL(MsgAbbrevOutputStream. > > > java:605) > > > at > weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:38) > > > at > > > > weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java > > > :87) > > > ... 14 more > > > > > > > > > > > > > > > -- > > http://www.irian.at > > Your JSF powerhouse - JSF Consulting, > > Development and Courses in English and > > German > > > > Professional Support for Apache MyFaces > > > >
