CosTransactions::Current Interface

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
Local-only True
Exceptions HeuristicHazard
HeuristicMixed
SubtransactionsUnavailable
NoTransaction
Supported operations Current::begin
Current::commit
Current::get_control
Current::get_status
Current::get_transaction_name
Current::resume
Current::rollback
Current::rolback_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.

IDL 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);
  };