> -----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 > >>>> > >>>> > >>> > >> > > > > > >