org.mule.transaction
Class AbstractSingleResourceTransaction

java.lang.Object
  extended byorg.mule.transaction.AbstractTransaction
      extended byorg.mule.transaction.AbstractSingleResourceTransaction
All Implemented Interfaces:
UMOTransaction
Direct Known Subclasses:
JdbcTransaction, JmsClientAcknowledgeTransaction, JmsTransaction

public abstract class AbstractSingleResourceTransaction
extends AbstractTransaction

This abstract class can be used as a base class for transactions that can enlist only one resource (such as jms session or jdbc connection).

Version:
$Revision: 1.1 $
Author:
Guillaume Nodet

Field Summary
protected  SynchronizedBoolean committed
           
protected  java.lang.Object key
           
protected  java.lang.Object resource
           
protected  SynchronizedBoolean rollbackOnly
           
protected  SynchronizedBoolean rolledBack
           
protected  SynchronizedBoolean started
           
 
Fields inherited from class org.mule.transaction.AbstractTransaction
logger
 
Fields inherited from interface org.mule.umo.UMOTransaction
STATUS_ACTIVE, STATUS_COMMITTED, STATUS_COMMITTING, STATUS_MARKED_ROLLBACK, STATUS_NO_TRANSACTION, STATUS_PREPARED, STATUS_PREPARING, STATUS_ROLLEDBACK, STATUS_ROLLING_BACK, STATUS_UNKNOWN
 
Constructor Summary
AbstractSingleResourceTransaction()
           
 
Method Summary
 void begin()
          Begin the transaction.
 void bindResource(java.lang.Object key, java.lang.Object resource)
           
 void commit()
          Commit the transaction
protected abstract  void doBegin()
          Really begin the transaction.
protected abstract  void doCommit()
          Commit the transaction on the underlying resource
protected abstract  void doRollback()
          Rollback the transaction on the underlying resource
 java.lang.Object getResource(java.lang.Object key)
           
 int getStatus()
           
 boolean hasResource(java.lang.Object key)
           
 void rollback()
          Rollback the transaction
 void setRollbackOnly()
           
 
Methods inherited from class org.mule.transaction.AbstractTransaction
isBegun, isCommitted, isRollbackOnly, isRolledBack
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

key

protected java.lang.Object key

resource

protected java.lang.Object resource

started

protected SynchronizedBoolean started

committed

protected SynchronizedBoolean committed

rolledBack

protected SynchronizedBoolean rolledBack

rollbackOnly

protected SynchronizedBoolean rollbackOnly
Constructor Detail

AbstractSingleResourceTransaction

public AbstractSingleResourceTransaction()
Method Detail

begin

public void begin()
           throws UMOTransactionException
Description copied from interface: UMOTransaction
Begin the transaction.

Specified by:
begin in interface UMOTransaction
Overrides:
begin in class AbstractTransaction
Throws:
UMOTransactionException

commit

public void commit()
            throws UMOTransactionException
Description copied from interface: UMOTransaction
Commit the transaction

Specified by:
commit in interface UMOTransaction
Overrides:
commit in class AbstractTransaction
Throws:
UMOTransactionException

rollback

public void rollback()
              throws UMOTransactionException
Description copied from interface: UMOTransaction
Rollback the transaction

Specified by:
rollback in interface UMOTransaction
Overrides:
rollback in class AbstractTransaction
Throws:
UMOTransactionException

getStatus

public int getStatus()
              throws TransactionStatusException
Throws:
TransactionStatusException

getResource

public java.lang.Object getResource(java.lang.Object key)

hasResource

public boolean hasResource(java.lang.Object key)

bindResource

public void bindResource(java.lang.Object key,
                         java.lang.Object resource)
                  throws UMOTransactionException
Throws:
UMOTransactionException

setRollbackOnly

public void setRollbackOnly()

doBegin

protected abstract void doBegin()
                         throws UMOTransactionException
Really begin the transaction. Note that resources are enlisted yet.

Specified by:
doBegin in class AbstractTransaction
Throws:
UMOTransactionException

doCommit

protected abstract void doCommit()
                          throws UMOTransactionException
Commit the transaction on the underlying resource

Specified by:
doCommit in class AbstractTransaction
Throws:
UMOTransactionException

doRollback

protected abstract void doRollback()
                            throws UMOTransactionException
Rollback the transaction on the underlying resource

Specified by:
doRollback in class AbstractTransaction
Throws:
UMOTransactionException


Copyright © 2003-2005 SymphonySoft Limited. All Rights Reserved.