org.apache.openejb.core.transaction
Class TxSupports
java.lang.Object
org.apache.openejb.core.transaction.JtaTransactionPolicy
org.apache.openejb.core.transaction.TxSupports
- All Implemented Interfaces:
- TransactionPolicy
public class TxSupports
- extends JtaTransactionPolicy
17.6.2.3 Supports
The Container invokes an enterprise Bean method whose transaction attribute
is set to Supports as follows.
If the client calls with a transaction context, the Container performs the
same steps as described in the Required case.
If the client calls without a transaction context, the Container performs the
same steps as described in the NotSupported case.
The Supports transaction attribute must be used with caution. This is because
of the different transactional semantics provided by the two possible modes
of execution. Only the enterprise beans that will execute correctly in both
modes should use the Supports transaction attribute.
Method Summary |
void |
commit()
Commits or rolls back this TransactionPolicy. |
Transaction |
getCurrentTransaction()
|
boolean |
isClientTransaction()
Is this policy running in an inhreited transaction? Some
TransactionTypes, such as Required or Supported, use the caller's
transaction instead of starting a new transaction. |
boolean |
isNewTransaction()
Is this a new transaction and not an inhreited transaction or no transaction? Some
TransactionTypes, such as Required or Supported, use the caller's
transaction instead of starting a new transaction. |
Methods inherited from class org.apache.openejb.core.transaction.JtaTransactionPolicy |
beginTransaction, completeTransaction, enlistResource, fireNonTransactionalCompletion, getResource, getTransaction, getTransactionType, isRollbackOnly, isTransactionActive, putResource, registerSynchronization, removeResource, resumeTransaction, rollbackTransaction, setRollbackOnly, setRollbackOnly, suspendTransaction, toString |
TxSupports
public TxSupports(TransactionManager transactionManager)
throws SystemException
- Throws:
SystemException
isNewTransaction
public boolean isNewTransaction()
- Description copied from interface:
TransactionPolicy
- Is this a new transaction and not an inhreited transaction or no transaction? Some
TransactionTypes, such as Required or Supported, use the caller's
transaction instead of starting a new transaction. If there is no active
transaction (e.g., TransactionType is NotSupported), this method will
- Returns:
- true if this not an inherited transaction
isClientTransaction
public boolean isClientTransaction()
- Description copied from interface:
TransactionPolicy
- Is this policy running in an inhreited transaction? Some
TransactionTypes, such as Required or Supported, use the caller's
transaction instead of starting a new transaction. If there is no active
transaction (e.g., TransactionType is NotSupported), this method will
return false.
- Returns:
- true if this is an inherited transaction
getCurrentTransaction
public Transaction getCurrentTransaction()
- Specified by:
getCurrentTransaction
in class JtaTransactionPolicy
commit
public void commit()
- Description copied from interface:
TransactionPolicy
- Commits or rolls back this TransactionPolicy. If there the actual
transaction is completed or there is no actual transaction, the
registered TransactionSynchronization are called. Otherwise, the
registered TransactionSynchronization are called when the actual
transaction is completed.
Copyright © 1999-2013 The Apache OpenEJB development community. All Rights Reserved.