E
- the type of exception that can be thrown.
Created: December 06 2013
public abstract class SingleExceptionTransactionDemarcation<E extends java.lang.Exception> extends TransactionDemarcation implements java.lang.AutoCloseable
This class also adds a boolean "success" property that defaults to false. If it is still false at close time, end(true) is called, which will rollback the transaction. Therefore, one should set success to true after all other code in the transaction demarc has completed successfully.
This class cannot be a subclass of AutoCloseableTranctionDemarcation because the signature of close() differs in Exception type.
atg.dtm.AutoCloseableTranctionDemarcation
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
MANDATORY, NEVER, NOT_SUPPORTED, REQUIRED, REQUIRES_NEW, STATUS_CREATED_TRANSACTION_COMMITTED, STATUS_SUSPENDED_TRANSACTION_RESUMED, STATUS_TRANSACTION_CREATED, STATUS_TRANSACTION_ENDED_IN_CODE, SUPPORTS
Modifier | Constructor and Description |
---|---|
protected |
SingleExceptionTransactionDemarcation()
Create a new instance that hasn't called
begin().
|
|
SingleExceptionTransactionDemarcation(javax.transaction.TransactionManager pManager)
Create a new SingleExceptionTransactionDemarcation that begins the
transaction with our default attribute (REQUIRED, unless
overridden).
|
|
SingleExceptionTransactionDemarcation(javax.transaction.TransactionManager pManager,
int pTransactionAttribute)
Create a new SingleExceptiontransactionDemarcation that begins the
transaction with specified transaction attribute.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Actually close by calling end(!isSuccess()).
|
boolean |
isSuccess()
Returns property success.
|
void |
setSuccess(boolean pSuccess)
Sets property success.
|
protected abstract E |
wrapTransactionDemarcationException(TransactionDemarcationException pException)
Wrap TransactionDemarcationException with an exception of type E.
|
begin, begin, end, end, equalTransactions, getDefaultTransactionAttribute, getTransaction, isTransactionCreated, setClearTransactionOnEnd
public SingleExceptionTransactionDemarcation(javax.transaction.TransactionManager pManager) throws E extends java.lang.Exception
pManager
- our transaction manager.E extends java.lang.Exception
public SingleExceptionTransactionDemarcation(javax.transaction.TransactionManager pManager, int pTransactionAttribute) throws E extends java.lang.Exception
pManager
- our transaction manager.pTransactionAttribute
- the transaction attribute (such
as REQUIRED, REQUIRES_NEW, etc).E extends java.lang.Exception
protected SingleExceptionTransactionDemarcation()
public void setSuccess(boolean pSuccess)
public boolean isSuccess()
protected abstract E wrapTransactionDemarcationException(TransactionDemarcationException pException)
pException
- the exception to wrap.