This module implements the OMG CosTransactions::RecoveryCoordinator interface.

To get access to the record definitions for the structures use:


replay_completion(RecoveryCoordinator, Timeout, Resource) -> Return

  • 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'


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.