[weld-issues] [JBoss JIRA] Updated: (WELD-214) ServletConversationManager does not serialize properly when the HttpSession is serialized
Pete Muir (JIRA)
jira-events at lists.jboss.org
Thu Nov 5 11:00:06 EST 2009
[ https://jira.jboss.org/jira/browse/WELD-214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pete Muir updated WELD-214:
---------------------------
Fix Version/s: 1.0.1.CR1
(was: 1.0.0.CR2)
Slipping, GAE isn't top priority, and conversations need a rewrite.
> ServletConversationManager does not serialize properly when the HttpSession is serialized
> -----------------------------------------------------------------------------------------
>
> Key: WELD-214
> URL: https://jira.jboss.org/jira/browse/WELD-214
> Project: Weld
> Issue Type: Bug
> Components: Built-in beans, Conversations
> Affects Versions: 1.0.0.CR1
> Environment: GAE/J 1.2.5
> Reporter: Huy Le
> Priority: Critical
> Fix For: 1.0.1.CR1
>
> Attachments: ServletConversationManagerSerializationTest.java, ServletConversationManagerSerializationTest.java
>
>
> I tried deploying WELD 1.0 CR1 to Google App Engine and got the following stack trace. I suspect that this is probably due to the fact that AbstractConversationManager does not implement Serializable, hence when ServletConversationManager is serialized/deserialized with the HttpSession, none of the fields on AbstractConversationManager is restored. This meant that when cleanupConversation was invoked, the 'currentConversation' field was null.
> com.sun.faces.lifecycle.Phase handleAfterPhase: JSF1053: (Listener: org.jboss.weld.jsf.WeldPhaseListener.afterPhase(), Phase ID: RENDER_RESPONSE 6, View ID: /home.xhtml) Exception thrown during phase-listener execution: java.lang.NullPointerException
> com.sun.faces.lifecycle.Phase handleAfterPhase: org.jboss.weld.conversation.AbstractConversationManager.cleanupConversation(AbstractConversationManager.java:132)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> java.lang.reflect.Method.invoke(Method.java:40)
> org.jboss.weld.bean.proxy.ClientProxyMethodHandler.invoke(ClientProxyMethodHandler.java:111)
> org.jboss.weld.examples.numberguess.ServletConversationManager_$$_javassist_1.cleanupConversation(ServletConversationManager_$$_javassist_1.java)
> org.jboss.weld.jsf.WeldPhaseListener.afterRenderResponse(WeldPhaseListener.java:128)
> org.jboss.weld.jsf.WeldPhaseListener.afterPhase(WeldPhaseListener.java:99)
> com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
> com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> org.mortbay.jetty.Server.handle(Server.java:313)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the weld-issues
mailing list