Hi Dennis!

> Have you *ever* hit this situation?
Yes, under heavy load it happens pretty often actually (I’m talking about 
multi-million request/day public internet apps). It also depends a bit on the 
JPA container you use. From the pure spec it is forbitten to touch the 
EntityManager in parallel threads and also to touch managed (‚attached’) 
entities in parallel threads. What JPA container are you using?


> Also, who programs a „sendRedirect" in the middle of a method that then 
> performs database access ..?

You don’t need to do database access even. It is enough that the entitymanager 
is not closed as per the spec.


> Even so, this is pure theory, the chance are so tiny this happens…
Then I had bad luck - quite often ;)


> And If you think this *may* happen within one conversation, then change the 
> way redirects are send, or the way database is accessed in parallel in Ajax 
> requests. not the way EM is used IMHO

That might be a solution. Or force the EM to get closed before the redirect.

> Also your remark on „unfinished thread" is valid for ANY components/resources 
> held in ConversationScope, not just the EM, true?

Yes, but most components have no problems with getting accessed in parallel. 
For managed Entities and EntityManagers it’s explicitly forbidden by the JPA 
spec.

LieGrue,
strub

Reply via email to