[
https://issues.jboss.org/browse/WELD-833?page=com.atlassian.jira.plugin.s...
]
Ove Ranheim commented on WELD-833:
----------------------------------
I experience the same issue with Seam Solder and Faces 3.0.0.Final.
For JBoss 6 users we have to wait for 6.0.1, and I've found a workaround.
Instead of e.g.:
@Begin
void beginConversation();
@End
void endConversation();
You may write:
void beginConversation()
{
if (conversation.isTransient())
{
conversation.begin();
}
}
void endConversation()
{
if (!conversation.isTransient())
{
conversation.end();
}
}
This would be a workaround this issue for Weld 1.1.0.Final users. However, for Seam Faces
the interceptor
(org.jboss.seam.faces.context.conversation.ConversationBoundaryInterceptor) would not be
able to discover manual call to conversation begin / end.
ConcurrentModificationException while deactivating conversations
----------------------------------------------------------------
Key: WELD-833
URL:
https://issues.jboss.org/browse/WELD-833
Project: Weld
Issue Type: Bug
Components: Conversations
Affects Versions: 1.1.0.CR3, 1.1.0.Final, TBC
Reporter: Jan Groth
Assignee: Ales Justin
Fix For: 1.1.1.Final
Attachments: fix_deletion_of_conversations.patch
If a conversation gets deactivated, the code which actually iterates the map of
conversations in org.jboss.weld.context.AbstractConversationContext is erroneous and
easily runs into a ConcurrentModificationException if there is more than one conversation.
We consider this a pretty serious defect because its not possible to use JBoss AS 6.0 GA
for a real-world application.
See attached patch for a fix.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira