List of usage examples for org.springframework.transaction CannotCreateTransactionException fillInStackTrace
public synchronized Throwable fillInStackTrace()
From source file:org.alfresco.util.transaction.SpringAwareUserTransaction.java
/** * @throws NotSupportedException if an attempt is made to reuse this instance *//*from ww w. j a va 2 s . c o m*/ public synchronized void begin() throws NotSupportedException, SystemException { // make sure that the status and info align - the result may or may not be null @SuppressWarnings("unused") TransactionInfo txnInfo = getTransactionInfo(); if (internalStatus != Status.STATUS_NO_TRANSACTION) { throw new NotSupportedException("The UserTransaction may not be reused"); } // check if ((propagationBehaviour != TransactionDefinition.PROPAGATION_REQUIRES_NEW)) { if (!readOnly && TransactionSynchronizationManager.isSynchronizationActive() && TransactionSynchronizationManager.isCurrentTransactionReadOnly()) { throw new IllegalStateException("Nested writable transaction in a read only transaction"); } } // begin a transaction try { internalTxnInfo = createTransactionIfNecessary((Method) null, (Class<?>) null); // super class will just pass nulls back to us } catch (CannotCreateTransactionException e) { throw new ConnectionPoolException("The DB connection pool is depleted.", e); } internalStatus = Status.STATUS_ACTIVE; threadId = Thread.currentThread().getId(); // Record that transaction details now that begin was successful isBeginMatched = false; if (isCallStackTraced) { // get the stack trace Exception e = new Exception(); e.fillInStackTrace(); beginCallStack = e.getStackTrace(); } // done if (logger.isDebugEnabled()) { logger.debug("Began user transaction: " + this); } }