/** * Execute after successful completion of call, but not * after an exception was handled. * Do nothing if we didn't create a transaction. * @param txInfo information about the current transaction */ protected void doCommitTransactionAfterReturning(TransactionInfo txInfo) { if (txInfo != null && txInfo.hasTransaction()) { if (logger.isDebugEnabled()) { logger.debug("Invoking commit for transaction on " + txInfo.joinpointIdentification()); } this.transactionManager.commit(txInfo.getTransactionStatus()); } }
if (txInfo.hasTransaction()) { if (txInfo.transactionAttribute.rollbackOn(ex)) { if (logger.isDebugEnabled()) {
public static boolean isRollbackOnly() { TransactionAspectSupport.TransactionInfo transactionInfo = currentTransactionInfo(); if (transactionInfo != null && transactionInfo.hasTransaction()) { return transactionInfo.getTransactionStatus().isRollbackOnly(); } return false; }
public static void setRollbackOnly() { TransactionAspectSupport.TransactionInfo transactionInfo = currentTransactionInfo(); if (transactionInfo != null && transactionInfo.hasTransaction()) { transactionInfo.getTransactionStatus().setRollbackOnly(); } }
public static void setRollbackOnly() { TransactionAspectSupport.TransactionInfo transactionInfo = currentTransactionInfo(); if (transactionInfo != null && transactionInfo.hasTransaction()) { transactionInfo.getTransactionStatus().setRollbackOnly(); } } }
@Override public void exceptional(Throwable t) throws Throwable { TransactionInfo ti = TransactionAspectSupport.currentTransactionInfo(); assertTrue(ti.hasTransaction()); assertEquals(outerTxatt, ti.getTransactionAttribute()); assertEquals(spouseName, getSpouse().getName()); } };
@Override public void exceptional(Throwable t) throws Throwable { TransactionInfo ti = TransactionAspectSupport.currentTransactionInfo(); assertTrue(ti.hasTransaction()); assertEquals(spouseName, getSpouse().getName()); } };
@Override public String getName() { // Assert that we're in the inner proxy TransactionInfo ti = TransactionAspectSupport.currentTransactionInfo(); // Has nested transaction assertTrue(ti.hasTransaction()); assertEquals(innerTxatt, ti.getTransactionAttribute()); return spouseName; } };
@Override public String getName() { // Assert that we're in the inner proxy TransactionInfo ti = TransactionAspectSupport.currentTransactionInfo(); assertFalse(ti.hasTransaction()); return spouseName; } };