The invention provides a mechanism for allowing a transaction callback
processing to be synchronized or to take effect prior to completion of a
transaction or message. Additional Synchronization objects that will take
part in the transaction can be registered on any server during the
transaction's active phase. After the commit function is called, each
Synchronization object is called during the transaction preprepare
processing. A Synchronization object can register another Synchronized
object, call a server not previously involved in the transaction, or
involve a new XA resource in the transaction. The effect is to provide a
circular pattern of request passing that allows additional resources to
be added into the loop prior to commit.