|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.activemq.TransactionContext
public class 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 |
addSynchronization(Synchronization s)
|
void |
begin()
Start a local transaction. |
void |
cleanup()
|
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)
|
ActiveMQConnection |
getConnection()
|
LocalTransactionEventListener |
getLocalTransactionEventListener()
|
TransactionId |
getTransactionId()
|
int |
getTransactionTimeout()
|
boolean |
isInLocalTransaction()
|
boolean |
isInTransaction()
|
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)
|
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. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TransactionContext(ActiveMQConnection connection)
Method Detail |
---|
public boolean isInXATransaction()
public boolean isInLocalTransaction()
public boolean isInTransaction()
public LocalTransactionEventListener getLocalTransactionEventListener()
public void setLocalTransactionEventListener(LocalTransactionEventListener localTransactionEventListener)
localTransactionEventListener
- The localTransactionEventListener to
set.public void addSynchronization(Synchronization s)
public TransactionId getTransactionId()
public void begin() throws javax.jms.JMSException
javax.jms.JMSException
- on internal errorpublic 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.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.XAResource
javax.transaction.xa.XAException
public void end(javax.transaction.xa.Xid xid, int flags) throws javax.transaction.xa.XAException
end
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public int prepare(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException
prepare
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public void rollback(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException
rollback
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public void commit(javax.transaction.xa.Xid xid, boolean onePhase) throws javax.transaction.xa.XAException
commit
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public void forget(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException
forget
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public boolean isSameRM(javax.transaction.xa.XAResource xaResource) throws javax.transaction.xa.XAException
isSameRM
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public javax.transaction.xa.Xid[] recover(int flag) throws javax.transaction.xa.XAException
recover
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public int getTransactionTimeout() throws javax.transaction.xa.XAException
getTransactionTimeout
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public boolean setTransactionTimeout(int seconds) throws javax.transaction.xa.XAException
setTransactionTimeout
in interface javax.transaction.xa.XAResource
javax.transaction.xa.XAException
public ActiveMQConnection getConnection()
public void cleanup()
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |