The XAException is thrown by the Resource Manager (RM) to inform the Transaction Manager of an error encountered by the involved transaction.
More...
#include <src/main/cms/XAException.h>
|
| XAException () |
|
| XAException (int errorCode) |
|
| XAException (const XAException &ex) |
|
| XAException (const std::string &message) |
|
| XAException (const std::string &message, const std::exception *cause) |
|
| XAException (const std::string &message, const std::exception *cause, const std::vector< std::pair< std::string, int > > &stackTrace) |
|
virtual | ~XAException () throw () |
|
virtual XAException * | clone () |
| Creates a cloned version of this CMSException instance.
|
|
void | setErrorCode (int errorCode) |
| Sets the error code for this XAException.
|
|
int | getErrorCode () const |
| Gets the error code that was assigned to this XAException.
|
|
| CMSException () |
|
| CMSException (const CMSException &ex) |
|
| CMSException (const std::string &message) |
|
| CMSException (const std::string &message, const std::exception *cause) |
|
| CMSException (const std::string &message, const std::exception *cause, const std::vector< std::pair< std::string, int > > &stackTrace) |
|
virtual | ~CMSException () throw () |
|
virtual std::string | getMessage () const |
| Gets the cause of the error.
|
|
virtual const std::exception * | getCause () const |
| Gets the exception that caused this one to be thrown, this allows for chaining of exceptions in the case of a method that throws only a particular exception but wishes to allow for the real causal exception to be passed only in case the caller knows about that type of exception and wishes to respond to it.
|
|
virtual std::vector< std::pair< std::string, int > > | getStackTrace () const |
| Provides the stack trace for every point where this exception was caught, marked, and rethrown.
|
|
virtual void | setMark (const char *file, const int lineNumber) |
| Adds a file/line number to the stack trace.
|
|
virtual void | printStackTrace () const |
| Prints the stack trace to std::err.
|
|
virtual void | printStackTrace (std::ostream &stream) const |
| Prints the stack trace to the given output stream.
|
|
virtual std::string | getStackTraceString () const |
| Gets the stack trace as one contiguous string.
|
|
virtual const char * | what () const throw () |
| Overloads the std::exception what() function to return the cause of the exception.
|
|
|
static const int | XA_RBBASE |
| Code which contains the inclusive lower bound of the rollback error codes.
|
|
static const int | XA_RBROLLBACK |
| Code which means that the rollback occurred for an unspecified reason.
|
|
static const int | XA_RBCOMMFAIL |
| Code which means that rollback was caused by a communication failure.
|
|
static const int | XA_RBDEADLOCK |
| Code which means that a failure occurred because a deadlock was detected.
|
|
static const int | XA_RBINTEGRITY |
| Code which means that a condition was detected than implies a violation of the integrity of the resource.
|
|
static const int | XA_RBOTHER |
| Code which means that the Resource Manager rolled back the transaction branch for a reason not separately listed.
|
|
static const int | XA_RBPROTO |
| Code which means that a protocol error occurred in the Resource Manager.
|
|
static const int | XA_RBTIMEOUT |
| Code which means that a transaction branch took too long.
|
|
static const int | XA_RBTRANSIENT |
| Code which means that the caller may retry the transaction branch.
|
|
static const int | XA_RBEND |
| Code which contains the inclusive upper bound of the rollback error codes.
|
|
static const int | XA_NOMIGRATE |
| Code which means that resumption must occur where the suspension occurred.
|
|
static const int | XA_HEURHAZ |
| Code which means that the transaction branch may have been heuristically completed.
|
|
static const int | XA_HEURCOM |
| Code which means that the transaction branch has been heuristically committed.
|
|
static const int | XA_HEURRB |
| Code which means that the transaction branch has been heuristically rolled back.
|
|
static const int | XA_HEURMIX |
| Code which means that the transaction branch has been heuristically committed and rolled back.
|
|
static const int | XA_RETRY |
| Code which means that the method returned with no effect and can be reissued.
|
|
static const int | XA_RDONLY |
| Code which means that the transaction branch was read only and has been committed.
|
|
static const int | XAER_ASYNC |
| Code which means that there is already an asynchronous operation outstanding.
|
|
static const int | XAER_RMERR |
| Code which means that a Resource Manager error has occurred for the transaction branch.
|
|
static const int | XAER_NOTA |
| Code which means that the XID is not valid.
|
|
static const int | XAER_INVAL |
| Code which means that invalid arguments were supplied.
|
|
static const int | XAER_PROTO |
| Code which means that the method was invoked in an improper context.
|
|
static const int | XAER_RMFAIL |
| Code which means that the Resource Manager is unavailable.
|
|
static const int | XAER_DUPID |
| Code which means that the XID already exists.
|
|
static const int | XAER_OUTSIDE |
| Work is being done by the Resource Manager outside the boundaries of a global transaction.
|
|
The XAException is thrown by the Resource Manager (RM) to inform the Transaction Manager of an error encountered by the involved transaction.
- Since
- 2.3
◆ XAException() [1/6]
cms::XAException::XAException |
( |
| ) |
|
◆ XAException() [2/6]
cms::XAException::XAException |
( |
int | errorCode | ) |
|
◆ XAException() [3/6]
◆ XAException() [4/6]
cms::XAException::XAException |
( |
const std::string & | message | ) |
|
◆ XAException() [5/6]
cms::XAException::XAException |
( |
const std::string & | message, |
|
|
const std::exception * | cause ) |
◆ XAException() [6/6]
cms::XAException::XAException |
( |
const std::string & | message, |
|
|
const std::exception * | cause, |
|
|
const std::vector< std::pair< std::string, int > > & | stackTrace ) |
◆ ~XAException()
virtual cms::XAException::~XAException |
( |
| ) |
|
throw | ( | ) | | | |
|
virtual |
◆ clone()
Creates a cloned version of this CMSException instance.
This method passes on ownership of the contained cause exception pointer to the clone. This method is mainly useful to the CMS provider.
- Returns
- new pointer that is a clone of this Exception, caller owns.
Reimplemented from cms::CMSException.
References clone(), and XAException().
Referenced by clone().
◆ getErrorCode()
int cms::XAException::getErrorCode |
( |
| ) |
const |
|
inline |
Gets the error code that was assigned to this XAException.
- Returns
- the assigned error code.
◆ setErrorCode()
void cms::XAException::setErrorCode |
( |
int | errorCode | ) |
|
|
inline |
◆ XA_HEURCOM
const int cms::XAException::XA_HEURCOM |
|
static |
Code which means that the transaction branch has been heuristically committed.
◆ XA_HEURHAZ
const int cms::XAException::XA_HEURHAZ |
|
static |
Code which means that the transaction branch may have been heuristically completed.
◆ XA_HEURMIX
const int cms::XAException::XA_HEURMIX |
|
static |
Code which means that the transaction branch has been heuristically committed and rolled back.
◆ XA_HEURRB
const int cms::XAException::XA_HEURRB |
|
static |
Code which means that the transaction branch has been heuristically rolled back.
◆ XA_NOMIGRATE
const int cms::XAException::XA_NOMIGRATE |
|
static |
Code which means that resumption must occur where the suspension occurred.
◆ XA_RBBASE
const int cms::XAException::XA_RBBASE |
|
static |
Code which contains the inclusive lower bound of the rollback error codes.
◆ XA_RBCOMMFAIL
const int cms::XAException::XA_RBCOMMFAIL |
|
static |
Code which means that rollback was caused by a communication failure.
◆ XA_RBDEADLOCK
const int cms::XAException::XA_RBDEADLOCK |
|
static |
Code which means that a failure occurred because a deadlock was detected.
◆ XA_RBEND
const int cms::XAException::XA_RBEND |
|
static |
Code which contains the inclusive upper bound of the rollback error codes.
◆ XA_RBINTEGRITY
const int cms::XAException::XA_RBINTEGRITY |
|
static |
Code which means that a condition was detected than implies a violation of the integrity of the resource.
◆ XA_RBOTHER
const int cms::XAException::XA_RBOTHER |
|
static |
Code which means that the Resource Manager rolled back the transaction branch for a reason not separately listed.
◆ XA_RBPROTO
const int cms::XAException::XA_RBPROTO |
|
static |
Code which means that a protocol error occurred in the Resource Manager.
◆ XA_RBROLLBACK
const int cms::XAException::XA_RBROLLBACK |
|
static |
Code which means that the rollback occurred for an unspecified reason.
◆ XA_RBTIMEOUT
const int cms::XAException::XA_RBTIMEOUT |
|
static |
Code which means that a transaction branch took too long.
◆ XA_RBTRANSIENT
const int cms::XAException::XA_RBTRANSIENT |
|
static |
Code which means that the caller may retry the transaction branch.
◆ XA_RDONLY
const int cms::XAException::XA_RDONLY |
|
static |
Code which means that the transaction branch was read only and has been committed.
◆ XA_RETRY
const int cms::XAException::XA_RETRY |
|
static |
Code which means that the method returned with no effect and can be reissued.
◆ XAER_ASYNC
const int cms::XAException::XAER_ASYNC |
|
static |
Code which means that there is already an asynchronous operation outstanding.
◆ XAER_DUPID
const int cms::XAException::XAER_DUPID |
|
static |
Code which means that the XID already exists.
◆ XAER_INVAL
const int cms::XAException::XAER_INVAL |
|
static |
Code which means that invalid arguments were supplied.
◆ XAER_NOTA
const int cms::XAException::XAER_NOTA |
|
static |
Code which means that the XID is not valid.
◆ XAER_OUTSIDE
const int cms::XAException::XAER_OUTSIDE |
|
static |
Work is being done by the Resource Manager outside the boundaries of a global transaction.
◆ XAER_PROTO
const int cms::XAException::XAER_PROTO |
|
static |
Code which means that the method was invoked in an improper context.
◆ XAER_RMERR
const int cms::XAException::XAER_RMERR |
|
static |
Code which means that a Resource Manager error has occurred for the transaction branch.
◆ XAER_RMFAIL
const int cms::XAException::XAER_RMFAIL |
|
static |
Code which means that the Resource Manager is unavailable.
The documentation for this class was generated from the following file: