|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.activemq.TransactionContext
A TransactionContext provides the means to control a JMS transaction. It provides a local transaction interface and also an XAResource interface.
An application server controls the transactional assignment of an XASession by obtaining its XAResource. It uses the XAResource to assign the session to a transaction, prepare and commit work on the transaction, and so on. An XAResource provides some fairly sophisticated facilities for interleaving work on multiple transactions, recovering a list of transactions in progress, and so on. A JTA aware JMS provider must fully implement this functionality. This could be done by using the services of a database that supports XA, or a JMS provider may choose to implement this functionality from scratch.
Session,
QueueSession,
TopicSession,
XASession| 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 | |
TransactionContext(ActiveMQConnection connection)
|
|
| Method Summary | |
void |
addSession(ActiveMQSession session)
|
void |
begin()
Start a local transaction. |
void |
commit()
Commits all messages 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)
|
ActiveMQConnection |
getConnection()
|
LocalTransactionEventListener |
getLocalTransactionEventListener()
|
java.lang.Object |
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 |
removeSession(ActiveMQSession session)
|
void |
rollback()
Rolls back any messages done in this transaction and releases any locks currently held. |
void |
rollback(javax.transaction.xa.Xid xid)
|
void |
setLocalTransactionEventListener(LocalTransactionEventListener localTransactionEventListener)
Used by the resource adapter to listen to transaction events. |
boolean |
setTransactionTimeout(int seconds)
|
void |
start(javax.transaction.xa.Xid xid,
int flags)
Associates a transaction with the resource. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public TransactionContext(ActiveMQConnection connection)
| Method Detail |
public boolean isInXATransaction()
public boolean isInLocalTransaction()
public LocalTransactionEventListener getLocalTransactionEventListener()
public void setLocalTransactionEventListener(LocalTransactionEventListener localTransactionEventListener)
localTransactionEventListener - The localTransactionEventListener to set.public void addSession(ActiveMQSession session)
public void removeSession(ActiveMQSession session)
public java.lang.Object getTransactionId()
public void begin()
throws javax.jms.JMSException
javax.jms.JMSException
public void rollback()
throws javax.jms.JMSException
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.
public void commit()
throws javax.jms.JMSException
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.
public void start(javax.transaction.xa.Xid xid,
int flags)
throws javax.transaction.xa.XAException
start in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public void end(javax.transaction.xa.Xid xid,
int flags)
throws javax.transaction.xa.XAException
end in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public int prepare(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
prepare in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public void rollback(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
rollback in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public void commit(javax.transaction.xa.Xid xid,
boolean onePhase)
throws javax.transaction.xa.XAException
commit in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public void forget(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
forget in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public boolean isSameRM(javax.transaction.xa.XAResource xaResource)
throws javax.transaction.xa.XAException
isSameRM in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public javax.transaction.xa.Xid[] recover(int flag)
throws javax.transaction.xa.XAException
recover in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public int getTransactionTimeout()
throws javax.transaction.xa.XAException
getTransactionTimeout in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAException
public boolean setTransactionTimeout(int seconds)
throws javax.transaction.xa.XAException
setTransactionTimeout in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic ActiveMQConnection getConnection()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||