Transaction service exceptions
The exceptions that the WAS 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.
Related tasks
Troubleshooting transactions
Related information:
Enterprise JavaBeans 2.0 specification
Java Transaction API (JTA) 1.1 specification