1 17 package org.apache.geronimo.connector.outbound; 18 19 import javax.transaction.Transaction ; 20 import javax.transaction.TransactionManager ; 21 import javax.transaction.Status ; 22 import javax.transaction.SystemException ; 23 24 27 public final class TxUtil { 28 private TxUtil() { 29 } 30 31 public static Transaction getTransactionIfActive(TransactionManager transactionManager) { 32 Transaction transaction = null; 33 int status = Status.STATUS_NO_TRANSACTION; 34 try { 35 transaction = transactionManager.getTransaction(); 36 if (transaction != null) status = transaction.getStatus(); 37 } catch (SystemException ignored) { 38 } 39 40 if (transaction != null && status == Status.STATUS_ACTIVE || status == Status.STATUS_MARKED_ROLLBACK) { 41 return transaction; 42 } 43 return null; 44 } 45 46 public static boolean isTransactionActive(TransactionManager transactionManager) { 47 try { 48 int status = transactionManager.getStatus(); 49 return status == Status.STATUS_ACTIVE || status == Status.STATUS_MARKED_ROLLBACK; 50 } catch (SystemException ignored) { 51 return false; 52 } 53 } 54 55 public static boolean isActive(Transaction transaction) { 56 try { 57 int status = transaction.getStatus(); 58 return status == Status.STATUS_ACTIVE || status == Status.STATUS_MARKED_ROLLBACK; 59 } catch (SystemException ignored) { 60 return false; 61 } 62 } 63 } 64 65 | Popular Tags |