ServletConversationManager is not serializable because of ManagedConversation 
dependency
----------------------------------------------------------------------------------------

                 Key: WELD-678
                 URL: https://jira.jboss.org/browse/WELD-678
             Project: Weld
          Issue Type: Bug
          Components: Conversations
    Affects Versions: 1.1.0.Beta1
         Environment: GlassFish 3.1 cluster and a CDI-enabled web application 
deployed with availability-enabled=true
            Reporter: Sivakumar Thyagarajan


Deploying a CDI-enabled JSF application (with conversation scoped beans) with 
availability-enabled=true (to enable HTTP session replication) in latest 
GlassFish 3.1 cluster, and using the application results in the following error 
while persisting the HTTP session.

On further debugging, it appears that ServletConversationManager has a 
reference to ManagedConversations which are non-serializable and appears to be 
a regression (ie introduced after WELD-214).

> [#|2010-09-13T20:04:52.789+0530|INFO|glassfish3.1|org.apache.catalina.session.ManagerBase|_ThreadID=17;_ThreadName=Thread-1;|PWC2785:
>  Cannot serialize session attribute 
> org.jboss.weld.context.SessionContext#org.jboss.weld.bean-weld-ManagedBean-class
>  org.jboss.weld.conversation.ServletConversationManager for session 
> b7ed19d916e9a008293e41c15971
> java.io.NotSerializableException: 
> org.jboss.weld.conversation.ManagedConversation
>     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
>     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>     at 
> java.util.concurrent.ConcurrentHashMap.writeObject(ConcurrentHashMap.java:1247)
>     at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>     at 
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
>     at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>     at 
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>     at 
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>     at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>     at 
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>     at 
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>     at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>     at 
> org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:2063)
>     at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>     at 
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
>     at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>     at org.apache.catalina.session.StoreBase.writeSession(StoreBase.java:269)
>     at 
> org.glassfish.web.ha.session.management.HAStoreBase.getByteArray(HAStoreBase.java:229)
>     at 
> org.glassfish.web.ha.session.management.ReplicationStore.doValveSave(ReplicationStore.java:153)
>     at 
> org.glassfish.web.ha.session.management.ReplicationWebEventPersistentManager.doValveSave(ReplicationWebEventPersistentManager.java:154)
>     at 
> org.glassfish.web.ha.session.management.HASessionStoreValve.doPostInvoke(HASessionStoreValve.java:163)
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
weld-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-issues

Reply via email to