Overview | The Current interface defines operations that allow a client of the transaction framework to explicitly manage the association between threads and transactions. |
File stem | CosTransactions |
Exceptions | HeuristicHazard |
HeuristicMixed | |
SubtransactionsUnavailable | |
InvalidControl | |
Supported operations | Current::begin |
Current::commit | |
Current::get_control | |
Current::get_status | |
Current::get_transaction_name | |
Current::resume | |
Current::rollback | |
Current::rollback_only | |
Current::set_timeout | |
Current::suspend |
Intended Usage
The Current interface defines methods that allow a client of the transaction service to manage the association between thread and transactions. The Current interface provides indirect control of the transaction. It also defines methods that simplify the use of the transaction service. The methods can be used to begin and end transactions, and to obtain information about the current transaction. The Current interface is derived from a CORBA::Current and can be obtained by invoking CORBA::ORB::resolve_initial_references("TransactionCurrent") and narrowing the resulting CORBA::Object to a CosTransactions::Current.
Syntax
interface Current : CORBA::Current { void begin() raises(SubtransactionsUnavailable); void commit(in boolean report_heuristics) raises(NoTransaction, HeuristicMixed, HeuristicHazard); void rollback() raises(NoTransaction); void rollback_only() raises(NoTransaction); Status get_status(); string get_transaction_name(); void set_timeout(in unsigned long seconds); Control get_control(); Control suspend(); void resume(in Control which) raises(InvalidControl); };