1.2.6. The transaction protocol engine

The transaction protocol engine is represented by the AtomicAction class, which uses StateManager in order to record sufficient information for crash recovery mechanisms to complete the transaction in the event of failures. It has methods for starting and terminating the transaction, and, for those situations where programmers require to implement their own resources, methods for registering them with the current transaction. Because TxCore supports subtransactions, if a transaction is begun within the scope of an already executing transaction it will automatically be nested.


TxCore is multi-threaded aware, allowing each thread within an application to share a transaction or execute within its own transaction. Therefore, all TxCore classes are also thread safe.