User's Guide
Reference Manual
Release Notes
PDF
Top

cosTransactions
Reference Manual
Version 1.2.12

Expand All
Contract All

Table of Contents

- cosTransactions
  - Top of manual page
  - start/0
  - stop/0
  - start_factory/0
  - start_factory/1
  - stop_factory/1
- CosTransactions_Control
  - Top of manual page
  - get_coordinator/1
  - get_terminator/1
- CosTransactions_Coordinator
  - Top of manual page
  - create_subtransaction/1
  - get_transaction_name/1
  - get_parent_status/1
  - get_status/1
  - get_top_level_status/1
  - hash_top_level_tran/1
  - hash_transaction/1
  - is_descendant_transaction/2
  - is_same_transaction/2
  - is_top_level_transaction/1
  - register_resource/2
  - register_subtran_aware/2
  - rollback_only/1
- CosTransactions_RecoveryCoordinator
  - Top of manual page
  - replay_completion/3
- CosTransactions_Resource
  - Top of manual page
  - commit/1
  - commit_one_phase/1
  - forget/1
  - prepare/1
  - rollback/1
- CosTransactions_SubtransactionAwareResource
  - Top of manual page
  - commit_subtransaction/2
  - rollback_subtransaction/1
- CosTransactions_Terminator
  - Top of manual page
  - commit/2
  - rollback/1
- CosTransactions_TransactionFactory
  - Top of manual page
  - create/2

# CosTransactions_RecoveryCoordinator

### MODULE

CosTransactions_RecoveryCoordinator

### MODULE SUMMARY

This module implements the OMG CosTransactions::RecoveryCoordinator interface.

### DESCRIPTION

To get access to the record definitions for the structures use:
-include_lib("cosTransactions/include/CosTransactions.hrl").

### EXPORTS

replay_completion(RecoveryCoordinator, Timeout, Resource) -> Return

Types:

RecoveryCoordinator = #objref
Timeout = integer(), milliseconds | 'infinity'
Resource = #objref
Return = Status | {'EXCEPTION', E}
E = #'CosTransactions_NotPrepared'{}
Status = atom()

The RecoveryCoordinator object is returned by the operation CosTransactions_Coordinator:register_resource/3. The replay_completion/2 may only be used by the registered Resource and returns the current status of the transaction. The operation is used when recovering after a failure.

Possible Status replies:

- 'StatusCommitted'
- 'StatusCommitting'
- 'StatusMarkedRollback'
- 'StatusRollingBack'
- 'StatusRolledBack'
- 'StatusActive'
- 'StatusPrepared'
- 'StatusUnknown'
- 'StatusNoTransaction'
- 'StatusPreparing'

Warning

replay_completion/3 is blocking and may cause dead-lock if a child calls this function at the same time as its parent invokes an operation on the child. Dead-lock will not occur if the timeout has any value except 'infinity'.

If the call is external incoming (intra-ORB) the timeout will not be activated. Hence, similar action must be taken if the Resource resides on another vendors ORB.