Transaction updates are processed only when the commit at the source happens (in other words, a transaction that is rolled back does not result in communication to the target database).
Replication respects transaction boundaries. When record updates are made outside of a transaction, the update information is immediately stored in the replication queue and will be processed shortly thereafter. Updates that are made inside transactions, however, are not placed in the replication queue until the commit is issued. When the updates of that transaction are replicated, they are performed inside a transaction at the target.
Once all updates in a transaction have been transmitted to the target, the transaction is committed at the target and the replication entries are removed from the queue. If any one update fails, or if the commit fails, the transaction is rolled back and the entries are not removed from the replication queue.