org.apache.openejb.core.transaction
Class TxNotSupported

java.lang.Object
  extended by org.apache.openejb.core.transaction.JtaTransactionPolicy
      extended by org.apache.openejb.core.transaction.TxNotSupported
All Implemented Interfaces:
TransactionPolicy

public class TxNotSupported
extends JtaTransactionPolicy

17.6.2.1 NotSupported

The Container invokes an enterprise Bean method whose transaction attribute is set to NotSupported with an unspecified transaction context.

If a client calls with a transaction context, the container suspends the association of the transaction context with the current thread before invoking the enterprise bean's business method. The container resumes the suspended association when the business method has completed. The suspended transaction context of the client is not passed to the resource managers or other enterprise Bean objects that are invoked from the business method.

If the business method invokes other enterprise beans, the Container passes no transaction context with the invocation.

Refer to Subsection 17.6.5 for more details of how the Container can implement this case.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.openejb.core.transaction.TransactionPolicy
TransactionPolicy.TransactionSynchronization
 
Field Summary
 
Fields inherited from class org.apache.openejb.core.transaction.JtaTransactionPolicy
logger, transactionManager, transactionType, txLogger
 
Constructor Summary
TxNotSupported(TransactionManager transactionManager)
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TxNotSupported

public TxNotSupported(TransactionManager transactionManager)
               throws SystemException
Throws:
SystemException
Method Detail

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()
            throws SystemException
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.

Throws:
SystemException - if an unrecoverable exception is encountered


Copyright © 1999-2013 The Apache OpenEJB development community. All Rights Reserved.