The exceptions that the WebSphere® Application Server transaction
service can throw are listed with a summary of each exception.
The exceptions are grouped as follows:
If the EJB container catches a system exception from the business
method of an enterprise bean, and the method is running within a container-managed
transaction, the container rolls back the transaction before passing the exception
on to the client. For more information about how the container handles the
exceptions thrown by the business methods for beans with container-managed
transaction demarcation, see the section Exception handling in
the Enterprise JavaBeans 2.0
specification. That section specifies the container action as a function
of the condition under which the business method executes and the exception
thrown by the business method. It also illustrates the exception that the
client receives and how the client can recover from the exception.
Standard exceptions
The standard exceptions
such as TransactionRequiredException, TransactionRolledbackException, and
InvalidTransactionException are defined in the
Java Transaction API (JTA) 1.1 specification.
- InvalidTransactionException
- This exception indicates that the request carried an invalid transaction
context.
- TransactionRequiredException exception
- This exception indicates that a request carried a null transaction context,
but the target object requires an active transaction.
- TransactionRolledbackException exception
- This exception indicates that the transaction associated with processing
of the request has been rolled back, or marked for roll back. Thus the requested
operation either could not be performed or was not performed because further
computation on behalf of the transaction would be fruitless.
Heuristic exceptions
A heuristic decision
is a unilateral decision made by one or more participants in a transaction
to commit or rollback updates without first obtaining the consensus outcome
determined by the Transaction Service. Heuristic decisions are an issue only
after the participant has been prepared and the second phase of commit processing
is underway. Heuristic decisions are typically made only in unusual circumstances,
such as repeated failures by the transaction manager to communicate with a
resource manage during two-phase commit. If a heuristic decision is taken,
there is a risk that the decision differs from the consensus outcome, resulting
in a loss of data integrity.
The following list provides a summary of the
heuristic exceptions. For more detail, see the Java Transaction API (JTA) 1.1 specification.
- HeuristicRollback exception
- This exception is raised on the commit operation to report that a heuristic
decision was made and that all relevant updates have been rolled back.
- HeuristicMixed exception
- This exception is raised on the commit operation to report that a heuristic
decision was made and that some relevant updates have been committed and others
have been rolled back.