Hello Shasi, How are things going now? --- Kito D. Mann -- Author, JavaServer Faces in Action http://twitter.com/kito99 http://twitter.com/jsfcentral JSF 2 Seminar Oct 6tth: http://www.regonline.com/jsf2seminar JSF Summit Conference Dec 1st-4th in Orlando: http://www.jsfsummit.com http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info +1 203-404-4848 x3
On Fri, Aug 21, 2009 at 2:28 PM, Shasi Mitra Yarram <[email protected]>wrote: > > Hi, > > We are having a peculiar behavior when we performed load testing on our > JSF application deployed in websphere server. > > It is throwing an error as it is unable to serialize the view state of > Ajax4jsf. > > > > I looked into the code of Ajax4jsf jars, none of the programs are > serializable. Shouldnt these classes be serializable? > > AjaxViewRoot extends the myfaces APIs. Even they are not serializable. If > at all not implementing serializable is a issue, it seems to be a basic > problem. I am pretty sure that Myfaces developers/designers would have > thought about this and handled it somehow. There is something that I am > missing and unable to understand. > > > > I did a bit of research and found the following link. > > <<http://www.mail-archive.com/[email protected]/msg13718.html>> > > > > It states by enabling SERIALIZE_STATE_IN_SESSION to "true", it could > resolve the problem. > > > > Now I had set this to false after looking at JSF performance improvement > tips in myfaces wiki > > <<http://wiki.apache.org/myfaces/Performance>> > > > > I am pretty confused as exactly what needs to be done. Can you please > help with your ideas? > > > > > ---------------------------------------------------------------------------------------------------------------- > > Below is my stack trace....... > > > app data changes : [jsf_sequence, > org.apache.myfaces.application.jsp.JspStateManagerImpl.SERIALIZED_VIEW, > javax.faces.request.charset] > > app data removals : null > > user write hit : false > > max inact write hit : false > > listener count hit : false > > update : update sessions set > > listener count : 1 > > > > cached : true > > cacheId : 0001 > > cacheIdUpdated : false > > syncFromServlet : false > > > > > > [8/21/09 2:13:20:286 EDT] 000000b2 SessionContex E Exception is: > java.io.NotSerializableException: org.ajax4jsf.framework.ajax.AjaxViewRoot > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java(Inlined > Compiled Code)) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java(Inlined > Compiled Code)) > > at java.util.ArrayList.writeObject(ArrayList.java(Compiled Code)) > > at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled > Code)) > > at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) > > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java(Compiled > Code)) > > at > java.io..ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java(Inlined > Compiled Code)) > > at java.util.ArrayList.writeObject(ArrayList.java(Compiled Code)) > > at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled > Code))> > > at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) > > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java(Inlined > Compiled Code)) > > at java..util.ArrayList.writeObject(ArrayList.java(Compiled Code)) > > at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled > Code)) > > at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) > > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java(Compiled > Code)) > > at java.util.HashMap.writeObject(HashMap.java(Compiled Code)) > > at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled > Code)) > > at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) > > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java(Inlined > Compiled Code)) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java(Compiled > Code)) > > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.httpsession.BackedHashtableMR.handlePropertyHits(BackedHashtableMR.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.httpsession.BackedHashtable.persistSession(BackedHashtable.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.httpsession.BackedHashtable.ejbStore(BackedHashtable.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.httpsession.BackedHashtable.storeSession(BackedHashtable.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.httpsession.BackedHashtable.put(BackedHashtable.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.httpsession.DatabaseSessionContext.sync(DatabaseSessionContext.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.httpsession.SessionData.releaseSession(SessionData.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.httpsession.SessionContext.sessionPostInvoke(SessionContext.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.srt.SRTRequestContext.finish(SRTRequestContext.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.srt.SRTServletRequest.finish(SRTServletRequest.java(Compiled > Code))> > > at > com.ibm.ws.webcontainer.srt.SRTConnectionContext.finishConnection(SRTConnectionContext.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java(Compiled > Code)) > > at > com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java(Compiled > Code)) > > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java(Compiled > Code)) > > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java(Compiled > Code)) > > at > com.ibm.ws..http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback..java(Compiled > Code)) > > at > com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled > Code)) > > at > com.ibm.ws.tcp.channel.impl.WorkQueueManager..attemptIO(WorkQueueManager.java(Compiled > Code)) > > at > com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled > Code)) > > at > com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled > Code)) > > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled > Code)) > > > > > > > > > > > > > > > ------------------------------ > Looking for local information? Find it on Yahoo! > Local<http://in.rd.yahoo.com/tagline_local_1/*http://in.local.yahoo.com/> >

