/// <summary> /// Make the transacted changes permanent. /// </summary> void IEnlistmentNotification.Commit(Enlistment enlistment) { _value = new StringBuilder(_temporaryValue.ToString()); _temporaryValue = null; _enlistedTransaction = null; enlistment.Done(); }
/// <summary> /// Performs necessary commit actions, clearing the current <see cref="TransactionContext"/> /// </summary> public void Commit(Enlistment enlistment) { BeforeCommit(); DoCommit(); TransactionContext.Clear(); enlistment.Done(); }
public void Commit(Enlistment enlistment) { try { assertNotDisposed(); logger.DebugFormat("Committing enlistment with id: {0}", Id); queueStorage.Global(actions => { actions.RemoveReversalsMoveCompletedMessagesAndFinishSubQueueMove(Id); actions.MarkAsReadyToSend(Id); actions.DeleteRecoveryInformation(Id); actions.Commit(); }); enlistment.Done(); logger.DebugFormat("Commited enlistment with id: {0}", Id); } catch (Exception e) { logger.Warn("Failed to commit enlistment " + Id, e); throw; } finally { onCompelete(); } }
public void InDoubt(Enlistment enlistment) { enlistment.Done(); this.notification.InDoubt(); Marshal.ReleaseComObject(this.notification); this.notification = null; }
public void Rollback(Enlistment enlistment) { enlistment.Done(); this.notification.Aborted(0, false, 0, 0); Marshal.ReleaseComObject(this.notification); this.notification = null; }
public void Commit(Enlistment enlistment) { log.Debug("Commit {0}, Messages: {1}", TransactionId, Messages.Count); if (_oncommit != null) _oncommit(this); enlistment.Done(); TransactionOpen = false; }
public void Commit(Enlistment enlistment) { enlistment.Done(); this.notification.Committed(false, 0, 0); Marshal.ReleaseComObject(this.notification); this.notification = null; }
public void Commit(Enlistment enlistment) { if (_ThrowIt) Assert.Fail("commit is never called if prepare failed"); enlistment.Done(); }
public void InDoubt(Enlistment enlistment) { log.Warn("transaction in doubt {0}, messages {1}", TransactionId, this.Messages.Count); if (_onrollback != null) _onrollback(this); enlistment.Done(); TransactionOpen = false; }
void IEnlistmentNotification.Commit(Enlistment enlistment) { if (_ThrowIt && ++_ErrorCount < 2) throw new ApplicationException("simulating resource failure"); enlistment.Done(); }
void IEnlistmentNotification.Commit(Enlistment enlistment) { this.m_Value = new StringBuilder(this.m_TemporaryValue.ToString()); this.m_TemporaryValue = null; this.enlistedTransaction = null; enlistment.Done(); }
public void Rollback(Enlistment enlistment) { foreach (var x in _rollbackCommands) { x(); } enlistment.Done(); }
/// <summary> /// Responds to the Commit notification. /// </summary> /// <param name="enlistment">An Enlistment that facilitates communication between the enlisted transaction participant and the transaction manager during the final phase of the transaction.</param> public override void Commit(Enlistment enlistment) { if (enlistment != null) { // Indicate that the transaction participant has completed its work. enlistment.Done(); } }
public void InDoubt(Enlistment enlistment) { lock (_sharedLock) { if (InDoubtAction != null) InDoubtAction(); } enlistment.Done(); }
public void Commit(Enlistment enlistment) { lock (_sharedLock) { if (CommitAction != null) CommitAction(); } enlistment.Done(); }
public void InDoubt( Enlistment enlistment ) { Status = TxfmStatus.InInDoubt; enlistment.Done(); Status = TxfmStatus.InTransaction; }
public virtual void InDoubt(Enlistment enlistment) { Trace.WriteIf(Tracing.Is.TraceVerbose, string.Empty); if (null != enlistment) { enlistment.Done(); } }
public void Commit(Enlistment enlistment) { foreach (var x in _commands) { x(); } enlistment.Done(); }
public void Commit(Enlistment enlistment) { if (_model.IsOpen) { _model.BasicAck(_deliveryTag, false); } enlistment.Done(); }
public void Rollback(Enlistment enlistment) { if (_model.IsOpen) { _model.TxRollback(); } enlistment.Done(); }
public void Rollback(Enlistment enlistment) { if (_model.IsOpen) { _model.BasicNack(_deliveryTag, false, true); } enlistment.Done(); }
public void Commit(Enlistment enlistment) { if (_model.IsOpen) { _model.TxCommit(); } enlistment.Done(); }
public void InDoubt(Enlistment enlistment) { AssertEnlisted(); log.Warn("AmbientTxHack in doubt..."); DisposeStuff(); enlistment.Done(); }
void IEnlistmentNotification.Rollback(Enlistment enlistment) { enlistment.Done(); Fx.Assert(this.currentTransaction.TransactionInformation.Status == TransactionStatus.Aborted, "Transaction state should be Aborted at this point"); TransactionException exception = this.GetAbortedOrInDoubtTransactionException(); Fx.Assert(exception != null, "Need a valid TransactionException at this point"); this.durableInstance.OnTransactionAbortOrInDoubt(exception); }
public void Commit(Enlistment enlistment) { AssertEnlisted(); log.Debug("Committing!"); commitAction(); DisposeStuff(); enlistment.Done(); }
public void Commit(Enlistment enlistment) { for (int i = _journal.Count - 1; i >= 0; i--) { _journal[i].Commit(); } DisposeJournal(); enlistment.Done(); }
public virtual void Commit(Enlistment enlistment) { Trace.WriteIf(Tracing.Is.TraceVerbose, string.Empty); if (null == enlistment) { return; } Operation.Done(true); enlistment.Done(); }
public void Commit(Enlistment enlistment) { _transactionContext.Complete() .ContinueWith(_ => { using (_transactionContext) { enlistment.Done(); } }); }
public void Rollback(Enlistment enlistment) { var connection = transaction.Connection; try { transaction.Rollback(); enlistment.Done(); } finally { Dispose(connection); } }
public void Commit(Enlistment enlistment) { try { onCommit(); } catch (Exception ex) { Log.Fatal(string.Format("A fatal exception occured while trying to send a message, the exception was {0}", ex.Message), ex); } enlistment.Done(); }