Transaction Management class, hold messages that are to be redelivered upon a request to roll-back.
More...
|
| ActiveMQTransactionContext (activemq::core::kernels::ActiveMQSessionKernel *session, const decaf::util::Properties &properties) |
| Constructor. More...
|
|
virtual | ~ActiveMQTransactionContext () |
|
virtual void | addSynchronization (const Pointer< Synchronization > &sync) |
| Adds a Synchronization to this Transaction. More...
|
|
virtual void | removeSynchronization (const Pointer< Synchronization > &sync) |
| Removes a Synchronization to this Transaction. More...
|
|
virtual void | begin () |
| Begins a new transaction if one is not currently in progress. More...
|
|
virtual void | commit () |
| Commit the current Transaction. More...
|
|
virtual void | rollback () |
| Rollback the current Transaction. More...
|
|
virtual const
decaf::lang::Pointer
< commands::TransactionId > & | getTransactionId () const |
| Get the Transaction Id object for the current Transaction, returns NULL if no transaction is running. More...
|
|
virtual bool | isInTransaction () const |
| Checks to see if there is currently a Transaction in progress returns false if not, true otherwise. More...
|
|
virtual bool | isInLocalTransaction () const |
| Checks to see if there is currently an Local Transaction in progess, returns false if not, true otherwise. More...
|
|
virtual bool | isInXATransaction () const |
| Checks to see if there is currently an XA Transaction in progress, returns false if not, true otherwise. More...
|
|
virtual void | commit (const cms::Xid *xid, bool onePhase) |
| Commits a global transaction. More...
|
|
virtual void | end (const cms::Xid *xid, int flags) |
| Ends the work done for a transaction branch. More...
|
|
virtual void | forget (const cms::Xid *xid) |
| Informs the Resource Manager that it can forget about a specified transaction branch. More...
|
|
virtual int | getTransactionTimeout () const |
| Gets the transaction timeout value for this XAResource. More...
|
|
virtual bool | isSameRM (const cms::XAResource *theXAResource) |
| Returns true if the ResourceManager for this XAResource is the same as the Resource Manager for a supplied XAResource. More...
|
|
virtual int | prepare (const cms::Xid *xid) |
| Requests the Resource manager to prepare to commit a specified transaction. More...
|
|
virtual int | recover (int flag, cms::Xid **recovered) |
| Get a list of prepared transaction branches. More...
|
|
virtual void | rollback (const cms::Xid *xid) |
| Requests the Resource Manager to rollback a specified transaction branch. More...
|
|
virtual bool | setTransactionTimeout (int seconds) |
| Sets the transaction timeout value for this XAResource. More...
|
|
virtual void | start (const cms::Xid *xid, int flags) |
| Starts work for a specified transaction branch. More...
|
|
virtual | ~XAResource () |
|
|
static const int | TMENDRSCAN |
| Flag to end a recovery scan. More...
|
|
static const int | TMFAIL |
| Flag to indicate that the caller is dissociation from a transaction branch and that it should be marked rollback only. More...
|
|
static const int | TMJOIN |
| Flag to indicate that the caller is joining sn existing transaction branch. More...
|
|
static const int | TMNOFLAGS |
| Flag that indicates that no flags options are selected. More...
|
|
static const int | TMONEPHASE |
| Flag that indicates the caller is using one-phase commit optimization. More...
|
|
static const int | TMRESUME |
| Flag that indicates the caller is resuming association with a suspended transaction branch. More...
|
|
static const int | TMSTARTRSCAN |
| Flag that indicates the start of a recovery scan. More...
|
|
static const int | TMSUCCESS |
| Flag that indicates the caller is dissociating from a transaction branch. More...
|
|
static const int | TMSUSPEND |
| Flag that indicates that the caller is suspending (not terminating) its association with a transaction branch. More...
|
|
static const int | XA_RDONLY |
| Flag that indicates that transaction work has been read only and has been committed normally. More...
|
|
static const int | XA_OK |
| Flag that indicates that transaction work has been Prepared normally. More...
|
|
Transaction Management class, hold messages that are to be redelivered upon a request to roll-back.
The Transaction represents an always running transaction, when it is committed or rolled back it silently creates a new transaction for the next set of messages. The only way to permanently end this transaction is to delete it.
- Since
- 2.0
virtual void activemq::core::ActiveMQTransactionContext::commit |
( |
const cms::Xid * |
xid, |
|
|
bool |
onePhase |
|
) |
| |
|
virtual |
Commits a global transaction.
- Parameters
-
xid | the XID which identifies the global transaction. |
onePhase | true if the resource manager should use a one-phase commit protocol to commit the transaction. |
- Exceptions
-
XAException | if an error occurred. |
Possible errors are identified by the errorcode in the XAException and include: XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO. In addition, one of the XA_RB* errors can occur if the transaction was not committed and onePhase was set to true. On completion of this method, the Resource Manager has rolled back the transaction and released resources held by the transaction.
Implements cms::XAResource.
virtual void activemq::core::ActiveMQTransactionContext::end |
( |
const cms::Xid * |
xid, |
|
|
int |
flags |
|
) |
| |
|
virtual |
Ends the work done for a transaction branch.
The Resource Manager disconnects the XA resource from the transaction branch and allows the transaction to complete.
- Parameters
-
xid | the XID which identifies the global transaction. Should have previously been used as the parameter to a start. method. |
flags | a flags integer - one of: XAResource::TMSUCCESS, XAResource::TMFAIL, or XAResource::TMSUSPEND. |
TMSUCCESS means that this section of work completed successfully.
TMFAIL means that this section of work failed. The Resource Manager can mark the transaction for rollback only.
TMSUSPEND means that this section of work is suspended and not yet complete. The associated transaction context is also suspended and must be restarted with a call to start(Xid, int) with the TMRESUME flag.
- Exceptions
-
XAException | if an error occurs. Possible error identified in the errorcode include: XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, XAER_PROTO, or XA_RB*. |
Implements cms::XAResource.
virtual void activemq::core::ActiveMQTransactionContext::start |
( |
const cms::Xid * |
xid, |
|
|
int |
flags |
|
) |
| |
|
virtual |
Starts work for a specified transaction branch.
- Parameters
-
xid | the XID which identifies the transaction branch. |
flags | an integer. Must be one of XAResource::TMNOFLAGS, XAResource::TMJOIN, or XAResource::TMRESUME. |
TMJOIN implies that the start applies to joining a transaction previously passed to the Resource Manager.
TMRESUME implies that the start applies to a suspended transaction that should be restarted.
If TMNOFLAGS is specified, then if the transaction has been previously seen by the Resource Manager, an XAException is raised with the code XAER_DUPID.
- Exceptions
-
XAException | if an error occurs. Possible error identified in the errorcode include: XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_DUPID, XAER_OUTSIDE, XAER_NOTA, XAER_INVAL, or XAER_PROTO. |
Implements cms::XAResource.