]
Pete Muir closed WELD-678.
--------------------------
Assignee: Pete Muir
Fix Version/s: (was: 1.1.0.CR1)
Resolution: Out of Date
Siva this is totally rewritten in 1.1.0.Beta2, could you try to reproduce on your newer GF
builds (no reproducer given), and reopen if still an issue?
ManagedConversation references in ServletConversationManager not
serializable
------------------------------------------------------------------------------
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
Assignee: Pete Muir
Labels: availability, cdi, cluster, conversations, glassfish, ha, high,
http, jsf, serialization, session
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.
-
For more information on JIRA, see: