Done() public method

public Done ( ) : void
return void
Esempio n. 1
0
 /// <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();
		}
Esempio n. 11
0
 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();
     }
 }
Esempio n. 14
0
 public void InDoubt(Enlistment enlistment)
 {
     lock (_sharedLock)
     {
         if (InDoubtAction != null) InDoubtAction();
     }
     enlistment.Done();
 }
Esempio n. 15
0
 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();
 }
Esempio n. 19
0
        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();
        }
Esempio n. 21
0
        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();
        }
Esempio n. 23
0
        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);
        }
Esempio n. 25
0
        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();
             }
         });
 }
Esempio n. 29
0
        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();
 }