org.apache.activemq.ra
Class ManagedTransactionContext

java.lang.Object
  extended by org.apache.activemq.TransactionContext
      extended by org.apache.activemq.ra.ManagedTransactionContext
All Implemented Interfaces:
javax.transaction.xa.XAResource

public class ManagedTransactionContext
extends TransactionContext

Allows us to switch between using a shared transaction context, or using a local transaction context.

Version:
$Revision$

Field Summary
 
Fields inherited from interface javax.transaction.xa.XAResource
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY
 
Constructor Summary
ManagedTransactionContext(TransactionContext sharedContext)
           
 
Method Summary
 void addSynchronization(Synchronization s)
           
 void begin()
          Start a local transaction.
 void commit()
          Commits all work done in this transaction and releases any locks currently held.
 void commit(javax.transaction.xa.Xid xid, boolean onePhase)
           
 void end(javax.transaction.xa.Xid xid, int flags)
           
 void forget(javax.transaction.xa.Xid xid)
           
 TransactionId getTransactionId()
           
 int getTransactionTimeout()
           
 boolean isInLocalTransaction()
           
 boolean isInXATransaction()
           
 boolean isSameRM(javax.transaction.xa.XAResource xaResource)
           
 int prepare(javax.transaction.xa.Xid xid)
           
 javax.transaction.xa.Xid[] recover(int flag)
           
 void rollback()
          Rolls back any work done in this transaction and releases any locks currently held.
 void rollback(javax.transaction.xa.Xid xid)
           
 boolean setTransactionTimeout(int seconds)
           
 void setUseSharedTxContext(boolean enable)
           
 void start(javax.transaction.xa.Xid xid, int flags)
          Associates a transaction with the resource.
 
Methods inherited from class org.apache.activemq.TransactionContext
cleanup, getConnection, getLocalTransactionEventListener, setLocalTransactionEventListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ManagedTransactionContext

public ManagedTransactionContext(TransactionContext sharedContext)
Method Detail

setUseSharedTxContext

public void setUseSharedTxContext(boolean enable)
                           throws javax.jms.JMSException
Throws:
javax.jms.JMSException

begin

public void begin()
           throws javax.jms.JMSException
Description copied from class: TransactionContext
Start a local transaction.

Overrides:
begin in class TransactionContext
Throws:
javax.jms.JMSException

commit

public void commit()
            throws javax.jms.JMSException
Description copied from class: TransactionContext
Commits all work done in this transaction and releases any locks currently held.

Overrides:
commit in class TransactionContext
Throws:
javax.jms.JMSException - if the JMS provider fails to commit the transaction due to some internal error.
javax.jms.TransactionRolledBackException - if the transaction is rolled back due to some internal error during commit.
javax.jms.IllegalStateException - if the method is not called by a transacted session.

commit

public void commit(javax.transaction.xa.Xid xid,
                   boolean onePhase)
            throws javax.transaction.xa.XAException
Specified by:
commit in interface javax.transaction.xa.XAResource
Overrides:
commit in class TransactionContext
Throws:
javax.transaction.xa.XAException

end

public void end(javax.transaction.xa.Xid xid,
                int flags)
         throws javax.transaction.xa.XAException
Specified by:
end in interface javax.transaction.xa.XAResource
Overrides:
end in class TransactionContext
Throws:
javax.transaction.xa.XAException

forget

public void forget(javax.transaction.xa.Xid xid)
            throws javax.transaction.xa.XAException
Specified by:
forget in interface javax.transaction.xa.XAResource
Overrides:
forget in class TransactionContext
Throws:
javax.transaction.xa.XAException

getTransactionId

public TransactionId getTransactionId()
Overrides:
getTransactionId in class TransactionContext

getTransactionTimeout

public int getTransactionTimeout()
                          throws javax.transaction.xa.XAException
Specified by:
getTransactionTimeout in interface javax.transaction.xa.XAResource
Overrides:
getTransactionTimeout in class TransactionContext
Throws:
javax.transaction.xa.XAException

isInLocalTransaction

public boolean isInLocalTransaction()
Overrides:
isInLocalTransaction in class TransactionContext

isInXATransaction

public boolean isInXATransaction()
Overrides:
isInXATransaction in class TransactionContext

isSameRM

public boolean isSameRM(javax.transaction.xa.XAResource xaResource)
                 throws javax.transaction.xa.XAException
Specified by:
isSameRM in interface javax.transaction.xa.XAResource
Overrides:
isSameRM in class TransactionContext
Throws:
javax.transaction.xa.XAException

prepare

public int prepare(javax.transaction.xa.Xid xid)
            throws javax.transaction.xa.XAException
Specified by:
prepare in interface javax.transaction.xa.XAResource
Overrides:
prepare in class TransactionContext
Throws:
javax.transaction.xa.XAException

recover

public javax.transaction.xa.Xid[] recover(int flag)
                                   throws javax.transaction.xa.XAException
Specified by:
recover in interface javax.transaction.xa.XAResource
Overrides:
recover in class TransactionContext
Throws:
javax.transaction.xa.XAException

rollback

public void rollback()
              throws javax.jms.JMSException
Description copied from class: TransactionContext
Rolls back any work done in this transaction and releases any locks currently held.

Overrides:
rollback in class TransactionContext
Throws:
javax.jms.JMSException - if the JMS provider fails to roll back the transaction due to some internal error.
javax.jms.IllegalStateException - if the method is not called by a transacted session.

rollback

public void rollback(javax.transaction.xa.Xid xid)
              throws javax.transaction.xa.XAException
Specified by:
rollback in interface javax.transaction.xa.XAResource
Overrides:
rollback in class TransactionContext
Throws:
javax.transaction.xa.XAException

setTransactionTimeout

public boolean setTransactionTimeout(int seconds)
                              throws javax.transaction.xa.XAException
Specified by:
setTransactionTimeout in interface javax.transaction.xa.XAResource
Overrides:
setTransactionTimeout in class TransactionContext
Throws:
javax.transaction.xa.XAException

start

public void start(javax.transaction.xa.Xid xid,
                  int flags)
           throws javax.transaction.xa.XAException
Description copied from class: TransactionContext
Associates a transaction with the resource.

Specified by:
start in interface javax.transaction.xa.XAResource
Overrides:
start in class TransactionContext
Throws:
javax.transaction.xa.XAException

addSynchronization

public void addSynchronization(Synchronization s)
Overrides:
addSynchronization in class TransactionContext


Copyright © 2010 Apache Software Foundation. All Rights Reserved.