In CMTTxInterceptor#endTransaction method:
if (tx != tm.getTransaction())
{ throw EjbLogger.ROOT_LOGGER.wrongTxOnThread(tx, tm.getTransaction()); }We could not compare transaction objects using == opeator as there is no guarantee that the objects will be the same if they represent the same transaction. Specifically if the transaction is canceled because of timeout but it stays associated with the tread the transaction manager will create the new transaction object when the TransactionManager#getTransaction method is called. We should use equals operator instead.
- clones
-
WFLY-6935 CMTTxInterceptor transaction comparison
- Closed
- is related to
-
JBEAP-4526 IIOP bean lookup fails after transaction timeout happens
- Verified