Details
Description
If you have a pool of XASession under load (heavy load might be necessary) I register sometimes following Exception "Cannot rollback() inside an XASession" in afterCompletion synchronisation. After some analysis and patching with logging I recognized that the session object is returned back to pool before setting the xa flag back to false. This leads to the effect that this session gets be used again by another thread while the earlier one switches the xa flag to false.