3.3.3 Transaction Termination
In general, the handling of the outcome of a transaction is the responsibility of the initiator. Therefore, the following are true:
- If the client or server application code initiates transactions, the TP Framework never commits a transaction. The Oracle Tuxedo system may roll back the transaction if server processing tries to return to the client while the transaction is in an illegal state.
- If the system initiates a transaction, the commit or rollback will always be handled by the Oracle Tuxedo system.
The following behavior is enforced by the Oracle Tuxedo system:
- If no transaction is active when a method on a CORBA object is
invoked and that method begins a transaction, the transaction must
be either committed, rolled back, or suspended when the method
invocation returns. If none of these actions is taken, the
transaction is rolled back by the TP Framework, and the
CORBA::OBJ_ADAPTER
exception is raised to the client application. This exception is raised because the transaction was initiated in the server application; therefore, the client application would not expect a transactional error condition such asTRANSACTION_ROLLEDBACK
.
Parent topic: Transactions