So what happens now is that the client requesting the connection gets one, but it's transaction status is "rollback only"
and what you are suggesting is that the client should get a ResourceException? I haven't looked at the relevant specs lately, do you know if anything about this situation is described? Do you know what other connector/tm implementations do? thanks for the sharp eyes :-) david jencks On Jun 13, 2012, at 11:48 AM, Florent Guillaume wrote: > Hi, > > I'm wondering why no exception is raised in the following case: > > - TransactionEnlistingInterceptor.getConnection calls > transaction.enlistResource(xares) > - TransactionImpl.enlistResource calls xaRes.start > - there's an XAException during start() > - TransactionImpl.enlistResource catches this, sets the transaction > rollback only, and returns false > - TransactionEnlistingInterceptor.getConnection does not check the > return value of transaction.enlistResource and returns > > In the last step I would expect that if false is returned, > TransactionEnlistingInterceptor.getConnection would raise a new > ResourceException for instance (as is the case for other error cases). > > Thanks, > Florent > > -- > Florent Guillaume, Director of R&D, Nuxeo > Open Source, Java EE based, Enterprise Content Management (ECM) > http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87
