uCosminexus Application Server, Common Container Functionality Guide

[Contents][Glossary][Index][Back][Next]

3.4.11 Notes on the JTA-based transaction implementation

The following table describes the processing content and operations of the programs that use the JTA to implement transactions.

Table 3-17 JTA operations

Processing content Operations

  • When an exception inheriting java.rmi.RemoteException or java.rmi.RemoteException occurs during EJB invocation
  • When a CORBA system exception occurs
Whether the client-side transactions will be marked for rollback varies according to the property (ejbserver.distributedtx.rollbackClientTxOnSystemException) settings. For details on the values set for the properties and the operations, see 3.4.5 Transaction operations during system exceptions.
When the javax.transaction.UserTransaction.commit method is invoked after a transaction timeout occurs The javax.transaction.RollbackException exception occurs. However, if you invoke the UserTransaction.commit method two or more times after a transaction timeout occurs, the java.lang.IllegalStateException exception occurs from the second time onwards.
When the javax.transaction.UserTransaction.rollback method is invoked after a transaction timeout occurs An exception does not occur.
Return value of the javax.transaction.UserTransaction.getStatus method after the transaction timeout javax.transaction.Status.STATUS_ROLLEDBACK is returned. However, after the UserTransaction.commit method, or UserTransaction.rollback method is invoked, javax.transaction.Status.STATUS_NO_TRANSACTION is returned.
EJB invocation from the beforeCompletion method or afterCompletion method of the EJB for which javax.ejb.SessionSynchronization is implemented An exception does not occur and the EJB can be invoked.