Yeah I'm reading the spec now.  I haven't had a chance to dig into the
spec yet but this is a good opportunity.

sean


On Sat, 15 Jan 2005 19:48:35 +0100, Matthias Wessendorf
<[EMAIL PROTECTED]> wrote:
> ups...
> 
> -----Original Message-----
> From: Matthias Wessendorf [mailto:[EMAIL PROTECTED]
> Sent: Saturday, January 15, 2005 7:46 PM
> To: 'Sean Schofield'
> Subject: RE: Exception during server-side state saving
> 
> Sean,
> 
> yes it's part of JSF spec.
> 
> See chapter 7.6.3 page State Saving Methods
> 
> e.g.
> 
> "This method causes the tree structure and component state of the view
> contained in the argument FacesContext to be collected, stored, and
> returned in a
> 
> StateManager.SerializedView
> 
> instance. If null is returned from this method,
> there is no state to save.
> public StateManager.SerializedView saveSerializedView(FacesContext
> context);"
> 
> and so on, but none about Serializable inside of
> StateManager.SerializedView
> ...
> 
> HTH,
> Matthias
> 
> > I'm not sure if the nested class would be considered part of
> > the spec.  If it is, its probably a violation to make it
> > serializable.  Even if it was allowed I don't think we
> > should.  We must be missing something ...
> >
> > sean
> >
> >
> >
> > On Sat, 15 Jan 2005 19:29:40 +0100, Matthias Wessendorf
> > <[EMAIL PROTECTED]> wrote:
> > > Sean,
> > >
> > > > I'm confused about your question regarding SerializedView and the
> > > > spec?  Is SerializedView part of the JSF API?  I don't see it
> > > > anywhere in sun's javadocs.  Maybe this is something they
> > are using
> > > > internally in the RI?
> > >
> > > I looked at JavaDoc:
> > >
> > http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/javax/faces/a
> > > pp
> > > lication/StateManager.SerializedView.html
> > >
> > > Matthias
> > >
> > > > I think there is something seriously weird going on here.  I will
> > > > start investigating this now that I'm putting the
> > finishing touches
> > > > on forceId.
> > > >
> > > > sean
> > > >
> > > >
> > > > On Sat, 15 Jan 2005 10:36:00 +0100, Matthias Wessendorf
> > > > <[EMAIL PROTECTED]> wrote:
> > > > > Kalle and others,
> > > > >
> > > > > > Just marking JspStateManagerImpl serializable isn't enough to
> > > > > > fix the problem. When I was working with sourceforge
> > codebase, I
> > > > > > experimentally hacked and successfully fixed the problem
> > > > with these
> > > > > > steps:
> > > > > > - marked ...application.jsp.JspStateManagerImpl Serializable
> > > > > > - marked its private member _renderKitFactory transient
> > > > > > - marked
> > javax.faces.application.StateManager.SerializedView (an
> > > > > > inner
> > > > > > class) Serializable
> > > > > > - marked its private members _structure and _state transient
> > > > >
> > > > > I did exactly the same. Now, in my app (which uses server
> > > > site state)
> > > > > there is no exception more.
> > > > >
> > > > > Btw. do this changes break with the spec?
> > > > > Because of JavaDoc @ SUN shows, that SerializedView doesn't
> > > > > implement Serializable interface.
> > > > >
> > > > > Is it ok to *live* with this workaround, until
> > > > > JSF 1.2 is published?
> > > > > Manfred said:
> > > > > "client and server side state saving will be more
> > compatible and
> > > > > Serializable problems get addressed."
> > > > >
> > > > > Thoughts??
> > > > >
> > > > >
> > > > > -Matthias
> > > > >
> > > > > > However, I never made a patch for it, because I seriously
> > > > doubt that
> > > > > > making these changes is the correct way of solving the
> > > > problem. If
> > > > > > you make the private members transient, it prevents the
> > > > > > serialization of backing beans in session scope. It
> > might also
> > > > > > be that backing beans shouldn't be included when the
> > container
> > > > > > is trying to serialize the session, but not sure.
> > > > > >
> > > > > > I guess the view is stored in session for being able to
> > > > restore it,
> > > > > > but when the container is shutting down, it should be
> > > > removed from
> > > > > > the session. I don't think it should be serializable at
> > > > all. About
> > > > > > the StateManager, I'm not too sure if it should or
> > not. Surely
> > > > > > we shouldn't throw an exception of StateManager not being
> > > > > > Serializable, but I would almost leave some exception
> > > > there or, better
> > > > > > yet, a descriptive error message, and just force the
> > > > users to either
> > > > > > configure their containers correctly or deal with it some
> > > > other way.
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Sean Schofield [mailto:[EMAIL PROTECTED]
> > > > > > > Sent: Saturday, January 08, 2005 3:07 PM
> > > > > > > To: MyFaces Development
> > > > > > > Subject: Re: Exception during server-side state saving
> > > > > > >
> > > > > > > Matthias,
> > > > > > >
> > > > > > > Then it seems like additional classes need to be made
> > > > > > > Serializable. My application was *very* simple so I
> > didn't run
> > > > > > > into this problem.
> > > > > > >
> > > > > > > I still think you need my patch b/c if you take it out, it
> > > > > > > will complain that JspStateManagerImpl can't be serialized.
> > > > > > >
> > > > > > > I don't know enough about MyFaces yet to know why
> > > > > > > JspStateManagerImpl should be serialized.  I suspect
> > > > somewhere the
> > > > > > > code is trying to store it in the session.  The
> > solution is to
> > > > > > > stop requiring that it be serialized or fix all of the
> > > > potential
> > > > > > > things that could be stored in JspStateManagerImpl and
> > > > make them
> > > > > > > serializable as well.
> > > > > > >
> > > > > > > I will try to look into it.
> > > > > > >
> > > > > > > Regards,
> > > > > > > sean
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
> 
>

Reply via email to