Atomikos Forum |
|
I'm using spring, hibernate and jbosscache.
I've been battling the following error: Connection accessed by transaction 10.255.245.138.tm0000600002 is already in use in another transaction: 10.255.245.138.tm0000100002 Non-XA connections are not compatible with nested transaction use. I believe I've found the problem. Hibernate will occationally suspend a transaction while writting to jbosscache in order to force some values into the cache outside of the current transaction scope. This normally works fine but when I suspend a transaction that has been marked for rollback I eventually get the error above. I believe I've localized the problem to BaseTransactionManager.restoreThreadMappings(). It appears to only restore a transaction if it's status is ACTIVE so my transactions that are MARKED_ROLLBACK are not getting resumed and eventually causing the error above. Would it be valid for BaseTransactionManager.restoreThreadMappings() to include MARKED_ROLLBACK as a valid status for resuming? Are there other status' that might be valid to restore too? Thoughts? Mike
Do you think this is something you can add to a future release of Atomikos.
Perhaps I wasn't very clear in my original message. :) This is a problem I'm experiencing and the only way to fix it is for Atomikos to change BaseTransactionManager.restoreThreadMappings() so that it resumes transactions that are MARKED_ROLLBACK instead of discarding them. Thanks, Mike |