org.openejb.core.transaction
Class TxNotSupported

java.lang.Object
  extended by org.openejb.core.transaction.TransactionPolicy
      extended by org.openejb.core.transaction.TxNotSupported

public class TxNotSupported
extends TransactionPolicy

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.

Version:
$Revision: 1912 $ $Date: 2005-06-16 15:29:56 -0700 (Thu, 16 Jun 2005) $
Author:
David Blevins

Field Summary
 
Fields inherited from class org.openejb.core.transaction.TransactionPolicy
BeanManaged, container, logger, Mandatory, Never, NotSupported, policyType, Required, RequiresNew, Supports, txLogger
 
Constructor Summary
TxNotSupported()
           
TxNotSupported(TransactionContainer container)
           
 
Method Summary
 void afterInvoke(javax.ejb.EnterpriseBean instance, TransactionContext context)
           
 void beforeInvoke(javax.ejb.EnterpriseBean instance, TransactionContext context)
           
 void handleApplicationException(java.lang.Throwable appException, TransactionContext context)
          Container's action
 void handleSystemException(java.lang.Throwable sysException, javax.ejb.EnterpriseBean instance, TransactionContext context)
          A system exception is any exception that is not an Application Exception.
 java.lang.String policyToString()
           
 
Methods inherited from class org.openejb.core.transaction.TransactionPolicy
beginTransaction, commitTransaction, discardBeanInstance, getContainer, getTxMngr, handleCallbackException, logSystemException, markTxRollbackOnly, resumeTransaction, rollbackTransaction, suspendTransaction, throwAppExceptionToServer, throwExceptionToServer, throwTxExceptionToServer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TxNotSupported

public TxNotSupported(TransactionContainer container)

TxNotSupported

public TxNotSupported()
Method Detail

policyToString

public java.lang.String policyToString()
Overrides:
policyToString in class TransactionPolicy

beforeInvoke

public void beforeInvoke(javax.ejb.EnterpriseBean instance,
                         TransactionContext context)
                  throws SystemException,
                         ApplicationException
Specified by:
beforeInvoke in class TransactionPolicy
Throws:
SystemException
ApplicationException

afterInvoke

public void afterInvoke(javax.ejb.EnterpriseBean instance,
                        TransactionContext context)
                 throws ApplicationException,
                        SystemException
Specified by:
afterInvoke in class TransactionPolicy
Throws:
ApplicationException
SystemException

handleApplicationException

public void handleApplicationException(java.lang.Throwable appException,
                                       TransactionContext context)
                                throws ApplicationException
Container's action

Re-throw AppException

Client's view

Receives AppException. If the client executes in a transaction, the client's transaction is not marked for rollback, and client can continue its work.

Specified by:
handleApplicationException in class TransactionPolicy
Throws:
ApplicationException

handleSystemException

public void handleSystemException(java.lang.Throwable sysException,
                                  javax.ejb.EnterpriseBean instance,
                                  TransactionContext context)
                           throws ApplicationException,
                                  SystemException
A system exception is any exception that is not an Application Exception. Container's action

  1. Log the exception or error so that the System Administrator is alerted of the problem.
  2. Discard instance. The Container must not invoke any business methods or container callbacks on the instance.
  3. Throw RemoteException to remote client; throw EJBException to local client.

Client's view

Receives RemoteException or EJBException. If the client executes in a transaction, the client's transaction may or may not be marked for rollback.

Specified by:
handleSystemException in class TransactionPolicy
Throws:
ApplicationException
SystemException


Copyright © 1999-2011 OpenEJB. All Rights Reserved.