From: <hib...@li...> - 2006-06-11 05:17:44
|
Author: epbernard Date: 2006-06-11 01:17:34 -0400 (Sun, 11 Jun 2006) New Revision: 10011 Modified: trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/transaction/JoinableCMTTransaction.java Log: EJB-198 always ckeck for rx not marked for rollback Modified: trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/transaction/JoinableCMTTransaction.java =================================================================== --- trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/transaction/JoinableCMTTransaction.java 2006-06-11 03:50:42 UTC (rev 10010) +++ trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/transaction/JoinableCMTTransaction.java 2006-06-11 05:17:34 UTC (rev 10011) @@ -31,7 +31,7 @@ TransactionFactory.Context transactionContext ) { try { - return status == JoinStatus.JOINED && JTAHelper.isTransactionInProgress( + return status == JoinStatus.JOINED && isTransactionInProgress( transactionContext.getFactory().getTransactionManager().getTransaction() ); } @@ -43,15 +43,17 @@ private boolean isTransactionInProgress() { try { Transaction transaction = transactionContext.getFactory().getTransactionManager().getTransaction(); - return JTAHelper.isTransactionInProgress( - transaction - ) && ! JTAHelper.isRollback( transaction.getStatus() ); + return isTransactionInProgress(transaction); } catch (SystemException se) { throw new TransactionException( "Unable to check transaction status", se ); } } + private boolean isTransactionInProgress(Transaction tx) throws SystemException { + return JTAHelper.isTransactionInProgress(tx) && ! JTAHelper.isRollback( tx.getStatus() ); + } + void tryJoiningTransaction() { if ( status == JoinStatus.MARKED_FOR_JOINED ) { if ( isTransactionInProgress() ) { |