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




      See the Web&#39;s breaking stories, chosen by people like you. Check out 
Yahoo! Buzz. http://in.buzz.yahoo.com/

Reply via email to