The important point is not whether or no JspStateManagerImpl should be serializable (that was just my middle of the night initial reaction.) I agree that would not fix the problem. The problem is definitely with something that is not serializable however.
I reran my example and here is the top of the stacktrace ... INFO: Cannot serialize session attribute org.apache.myfaces.application.jsp.JspStateManagerImpl.SERIALIZED_VIEW Not sure what this is related to but something is definitely not serializable that should be. sean On Fri, 14 Jan 2005 09:50:58 -0800, Korhonen, Kalle <[EMAIL PROTECTED]> wrote: > > -----Original Message----- > > From: Manfred Geiler [mailto:[EMAIL PROTECTED] > > Subject: Re: Exception during server-side state saving > > Why do you want to have JspStateManagerImpl serializable?! > > From what I see from the code, the only thing that has to be > > Serializable is the SerializedView. > > Because of the simple fact that you get/used to get exceptions when > restarting the container / reloading your application context if it's > not serialized. But please read my previous email again; I've tried to > describe the problem there as clearly as possible, and I really *don't* > suggest making it serializable. And Sean, yes, you get the exceptions > only when using server side state saving. > > Kalle > > > > BTW, the whole state saving thing is currently beeing > > refactored in JSF 1.2, so that client and server side state > > saving will be more compatible and Serializable problems get > > addressed. > > > > Manfred > > > > > > Korhonen, Kalle schrieb: > > >>-----Original Message----- > > >>From: Matthias Wessendorf [mailto:[EMAIL PROTECTED] > > >>Subject: RE: Exception during server-side state saving BTW. > > >>javax.faces.application.StateManager.SerializedView > > >>(inner class) is serializable IN myfaces! > > >>But I guess it shouldn't. See > > >>JavaDoc for JSF API @ SUN > > > > > > > > > Ah. I didn't even compare the old code with the latest. > > Maybe that's > > > the solution then, at least for the short term, to have > > SerializedView > > > and JspStateManagerImpl Serializable, maybe with attributes > > non-transient. > > > In the long run, maybe we can do something more elegant in > > the context > > > listener, ie. to remove the objects from the session that > > shouldn't be > > > serialized when the context is about to be destroyed. Thanks for > > > looking into the issue Matthias, I seriously don't have > > time to deal > > > with it right now. And so far, it's been mostly just an > > annoyance to > > > us, not a showstopper. > > > > > > Kalle > > > > > > > > >>But spec says nothing on that, > > >>I guess (a time ago I looked inside that issue...) > > >> > > >>Also thanks for mailing it to the list! > > >> > > >>BTW. I mailed to infrastructure guys @apache, after we leave > > >>incubator, they change it... > > >> > > >>Ted brings this up to PMC of incubator. > > >> > > >> > > >>>-----Original Message----- > > >>>From: Korhonen, Kalle [mailto:[EMAIL PROTECTED] > > >>>Sent: Thursday, January 13, 2005 10:13 PM > > >>>To: MyFaces Development > > >>>Subject: RE: Exception during server-side state saving > > >>> > > >>> > > >>>Hi, > > >>> > > >>>I wrote this (read below) in the comments of bug JIRA MYFACES-75 > > >>>(exception during server-side state saving). Thought it might be > > >>>useful to send it to the list as well, cause I surely don't know > > >>>what's the proper way to fix this.. Anybody got any good ideas? > > >>> > > >>>Kalle > > >>> > > >>>--- > > >>>I believe servlet spec 2.3 requires that a container is able to > > >>>serialize the session for persistence. In Tomcat, you can > > >> > > >>configure a > > >> > > >>>session.PersistentManager to not try to store the session > > >> > > >>on disk by > > >> > > >>>setting its attribute "saveOnRestart" to false. The attribute by > > >>>default is true, which causes the whole problem. > > >>> > > >>>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 > > >>> > > >>>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 > > >>>> > > >>>> > > >>> > > >> > > > > > > > > > > >